.NET
基于 .NET 软件框架的 Microsoft 技术。
41 个问题
我将 WPF、C#、Entity Framework 数据库优先与 SQL Server 数据库结合使用。
我确实在SQL Server中成功执行了此查询:
SELECT
SUM(MEGHk) AS Meghksm,
SUM(MABL_K) AS Mablksm,
SUM(N_MOIN) AS N_MOINSM,
SUM(IMBAA) AS IMBAAsm
FROM
INVO_LST
WHERE
(TAG = 2) AND (NUMBER = 4)
在 C# 代码中:
var quer_Sumfactor5 = dbms.Database.SqlQuery<INVO_LST>("SELECT SUM(MEGHk) AS Meghksm, SUM(MABL_K) AS Mablksm, SUM(N_MOIN) AS N_MOINSM, SUM(IMBAA) AS IMBAAsm FROM INVO_LST WHERE(TAG = 2) AND (NUMBER = " + TextB_Number.Text + ")").ToList();
我收到此错误:
我认为实体框架需要所有不会选择单列或多列的列。
如何获取查询结果,就像在 SQL Server 中一样?
Note:此问题总结整理于: How do I select, specify, or multi-column with SqlQuery in C# WPF Entity Framework?
您获得一个带有 SQL 查询的新模型,请为查询数据创建一个新模型。 创建名为NewINVO_LST
public class NewINVO_LST
{
public float Meghksm { get; set; }
public float floatMablksm { get; set; }
public float floatN_MOINSM { get; set; }
public float floatIMBAAsm { get; set; }
}
然后更新 SQL 查询:
var quer_Sumfactor5 = dbms.Database.SqlQuery<NewINVO_LST>("SELECT SUM(MEGHk) AS Meghksm, SUM(MABL_K) AS Mablksm, SUM(N_MOIN) AS N_MOINSM, SUM(IMBAA) AS IMBAAsm FROM INVO_LST WHERE(TAG = 2) AND (NUMBER = " + TextB_Number.Text + ")").ToList();
它对你不起作用,请在这里发帖,我会尽力帮助你。
如果回复有帮助,请点击“接受答案”并点赞。 注意:如果您想接收此线程的相关电子邮件通知,请按照我们文档中的步骤启用电子邮件通知。