gpt4 book ai didi

c# - Entity Framework SQL 查询不返回结果

转载 作者:太空狗 更新时间:2023-10-30 00:10:35 25 4
gpt4 key购买 nike

我正在使用 Entity Framework 数据库优先模型,但在查询我的数据库时遇到问题。

我正在尝试使用以下代码:

var ctx = new dbEntities();
var description = ctx.DEPARTMENTs.SqlQuery("SELECT DESCRIPTION FROM DEPARTMENT WHERE DEPARTMENT='FINANCE'");
System.Diagnostics.Debug.WriteLine(description);

我可以在调试日志中看到 DEPARTMENTs 表的结果表,但出于某种原因,SQL 查询只是在控制台中返回这个而不是执行查询,任何人都知道为什么?

SELECT DESCRIPTION FROM DEPARTMENT WHERE DEPARTMENT='FINANCE'

最佳答案

要针对提供程序执行查询,您必须使用从 IEnumerable 派生的任何扩展,即 ToList()First()FirstOrDefault()

现在你必须考虑一些事情。您的查询可能会返回什么?数据列表还是单个数据?或者即使找到了匹配项列表,您也只想要一个?

根据您查询的语法,我认为您应该这样做:

var ctx = new dbEntities();
var dep = ctx.DEPARTMENTs
.SqlQuery("SELECT * FROM DEPARTMENT WHERE DEPARTMENT='FINANCE'")
.FirstOrDefault();

if(dep!=null)
{
var description = department.Description;
}

或者,你也可以这样做(我更愿意):

var description = ctx.DEPARTMENTs.Where(s=>s.Department.ToUpper() =="FINANCE")
.Select(s=>s.Description)
.FirstOrDefault();

关于c# - Entity Framework SQL 查询不返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22036834/

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