如何在 C# WPF 实体框架中使用 SqlQuery 选择、指定或多列?

Jiale Xue - MSFT 41,271 信誉分 Microsoft 供应商
2024-05-20T05:28:25.21+00:00

我将 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)  

68035-qeeph.png

在 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();  

我收到此错误:

68045-zm9h9.png

我认为实体框架需要所有不会选择单列或多列的列。

如何获取查询结果,就像在 SQL Server 中一样?

Note:此问题总结整理于: How do I select, specify, or multi-column with SqlQuery in C# WPF Entity Framework?

.NET
.NET
基于 .NET 软件框架的 Microsoft 技术。
41 个问题
Windows Presentation Foundation
Windows Presentation Foundation
.NET Framework 的一部分,它提供统一的编程模型,用于在 Windows 上构建业务线桌面应用程序。
110 个问题
C#
C#
一种面向对象的类型安全的编程语言,它起源于 C 语言系列,包括对面向组件的编程的支持。
177 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Hui Liu-MSFT 46,961 信誉分 Microsoft 供应商
    2024-05-20T06:11:42.4333333+00:00

    您获得一个带有 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();  
      
    

    它对你不起作用,请在这里发帖,我会尽力帮助你。


    如果回复有帮助,请点击“接受答案”并点赞。 注意:如果您想接收此线程的相关电子邮件通知,请按照我们文档中的步骤启用电子邮件通知。

    1 个人认为此答案很有帮助。
    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助