gpt4 book ai didi

c# - 在 Entity Framework 6 中使用 SqlQuery>

转载 作者:太空狗 更新时间:2023-10-29 22:18:48 24 4
gpt4 key购买 nike

我正在尝试在 EF 6 中执行 SQL 查询。select 查询返回两个字符串列,例如选择“a”、“b”,并且可以有任意数量的行。

我想将结果映射到字典,但无法避免出现以下错误。

Error 1 Cannot implicitly convert type 'System.Data.Entity.Infrastructure.DbRawSqlQuery>' to 'System.Collections.Generic.Dictionary'

这是代码:

using (var db = new EFDbContext())
{
Dictionary<string, string> perms = new Dictionary<string, string>();
perms = db.Database.SqlQuery<Dictionary<string, string>>(TheQuery);
}

查询后我尝试了各种selectToDictionary,但都没有用。

最佳答案

如果对象具有默认构造函数和属性 setter ,您可以使用 SqlQuery 直接填充该对象。结果可用于创建字典。例如:

public class QueryResult
{
public string A { get; set; }
public string B { get; set; }
}
// the colulmn/alias names need to match property names
string query = "SELECT column1 AS [A], column2 AS [B] FROM ..."

using (var db = new EFDbContext())
{
var perms = db.Database.SqlQuery<QueryResult>(query)
.ToDictionary(r => r.A, r => r.B);
}

关于c# - 在 Entity Framework 6 中使用 SqlQuery<Dictionary<string, string>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30771552/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com