c# - Linq 查询中的 Guid.ToString()?

标签 c# sql linq

我有一个方法试图通过一个简单的 where 子句从我的数据库中提取记录。我有一个问题,因为我传递了一个字符串值并将其与 Guid (uniqueIdentifier) 匹配。我需要将传递的值作为字符串绑定(bind)到 DataGrid 中,并且我需要返回字符串的方法。

显然在运行时,LinQ 无法编译查询。 .ToString() 方法无法编译成 SQL。有什么想法吗?

private string getFileLocation(string LinkGuid)
{
    try
    {
        ISESEntities context = new ISESEntities();

        string query = (from f in context.tbFileAttachments
                where f.CCCPGUID.ToString() == LinkGuid
                select f.FileLocation).First();

        return query;           
    }
    catch(Exception e)
    {
       blah blah
    }
}

最佳答案

切换逻辑并将 LinkGuid 参数转换为 Guid:

private string getFileLocation(string LinkGuid)
{
    try
    {
        Guid search = Guid.Parse(LinkGuid);

        ISESEntities context = new ISESEntities();

        string query = (from f in context.tbFileAttachments
                where f.CCCPGUID == search
                select f.FileLocation).First();

        return query;           
    }
    catch(Exception e)
    {
       blah blah
    }
}

关于c# - Linq 查询中的 Guid.ToString()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24556352/

相关文章:

c# - Entity Framework 外键(或缺少外键)

阻止 Excel 将长整数转换为科学记数法的 SQL 查询

sql - 在 oracle 过程中如何获取刚刚添加的 PKId 作为 FK ID 添加到下一个表

.net - LINQ to Objects - 使用哲学?

.net - Sqlinq从linq创建sql查询的替代方法

c# - 如何过滤枚举并在下拉列表中使用它

javascript - 如何在没有隐藏字段的情况下将JavaScript变量发送到(asp net代码后面)c#

c# - 存储过程:使用Return还是选择Select?

c# - 如何通过按 "Space"在 Visual Studio 2015 中取消自动完成?

sql - 将 header 包含到 SQL 查询的结果中