EFcore 中“FromSql”操作的结果中不存在所需的列“id”

2024-03-21

我有一个大问题FromSql就是这样:

我有一个这样的模型:

public partial class  model
{
    public string name
}

我想从数据库(sql server)中的过程中获得一些结果。 当我执行下面的代码时

var sql = "EXECUTE [myprocedure] @param1 ";
SqlParameter sqlParameter = new SqlParameter
{
     ParameterName = "param1",
     DbType = DbType.Int32,
     Value = 10;
}
var result = db.model.FromSql(sql,SqlParameter);

它显示这样的异常:The entity type 'model' requires a primary key to be defined.所以我将主键添加到我的模型中:

public partial class  model
{
    [key]
    public int ID {set;get;}

    public string name
}

但这次它显示了这个异常:The required column 'ID' was not present in the results of a 'FromSql' operation.

我知道我必须添加ID我的数据库响应,但我不能这样做,因为我的数据库中有很多程序,所以我无法编辑所有这些程序。 所以我正在寻找一种方法来解决我的问题而无需编辑我的程序。

有人可以帮助我吗?


如果您使用的是 Entity Framework Core 2.x,请查看查询类型(https://learn.microsoft.com/en-us/ef/core/modeling/query-types https://learn.microsoft.com/en-us/ef/core/modeling/query-types)。 表(实体类型)始终需要 ID,而查询类型则不需要。

对于查询类型,您可以省略 ID。否则,您必须确保您的存储过程也返回一个 ID,因为表/实体类型始终需要一个 ID。

从 EF Core 3.0 开始,有一个 .HasNoKey() 而不是查询类型来定义没有 ID 的实体(https://learn.microsoft.com/de-de/ef/core/what-is-new/ef-core-3.0/writing-changes#query-types-are-consolidated-with-entity-types https://learn.microsoft.com/de-de/ef/core/what-is-new/ef-core-3.0/breaking-changes#query-types-are-consolidated-with-entity-types).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

EFcore 中“FromSql”操作的结果中不存在所需的列“id” 的相关文章

随机推荐

  • iOS7 UIWebView 内存泄漏

    我们有一个具有混合模式的综合 iOS 应用程序 UIWebView 在 JS 中保存了 Web 应用程序的主要部分 它在 iOS6 上运行良好 但最近我们发现所有 iOS7 设备 iPad iPhone 4 4S 和 iPhone 5 5C
  • 如何将字符串转换为 BigInteger?

    我正在尝试从标准输入中读取一些非常大的数字并将它们加在一起 但是 要添加到 BigInteger 我需要使用BigInteger valueOf long private BigInteger sum BigInteger valueOf
  • 默认显示所有文件

    有没有办法默认打开 Visual Studio 解决方案资源管理器 显示所有文件 设置 不是 Visual Studio 设置 但如果您使用版本控制 则会有所帮助 在 vcxproj 或解决方案范围的 props 文件中插入以下行
  • 我不明白为什么我的 group by 失败

    SELECT ENAME MAX SAL STORES CITY FROM EMPLOYEES INNER JOIN STORES ON EMPLOYEES STORE ID STORES STORE ID GROUP BY EMPLOYE
  • Pandas DataFrame:使用列的唯一值转换框架

    我有一个以下形式的 pandas dataframe csv date Country Type Val 2013 01 01 USA x 23 2013 01 01 USA y 13 2013 01 01 MX x 11 2013 01
  • 打开 Spyder 时出错: pylsp >=1.7.2,<1.8.0 : 1.7.1 (NOK)

    我尝试升级conda和spyder 但遇到了问题 I tried conda update anaconda conda install spyder 5 4 3 pip install pylsp mypy 我先在spyder终端中使用选
  • Android - 滚动 ListView 时微调器选择消失

    我有一个包含一堆微调器的列表视图 但是当我滚动列表视图时 微调器的值会被重置 有没有办法来解决这个问题 这就是我的 ArrayAdapter 类的样子 公共类 ProductArrayAdapter 扩展 ArrayAdapter 私有最终
  • 使用模板调用重载函数(未解决的重载函数类型编译器错误)[重复]

    这个问题在这里已经有答案了 可能的重复 如何获取重载成员函数的地址 https stackoverflow com questions 705854 how to get the address of an overloaded membe
  • Objective-C 中连接 NSString 的快捷方式

    有没有什么捷径可以到达 stringByAppendingString Objective C 中的字符串连接 或使用的快捷方式NSString一般来说 例如 我想做 NSString myString This NSString test
  • 固定 - 液体 - 固定布局

    我想要一个 固定 液体 固定 跨浏览器兼容的布局 HTML body div col 1 div col 2 div col 3 CSS col 1 width 150px float left col 2 width 100 paddin
  • 如何初始化句柄

    Error Run Time Check Failure 3 The variable TextLabelVar is being used without being initialized 示例代码 HWND VarText char
  • AngularJS:ngRoute 未提供所需的主页

    我不知道为什么我的根目录 主页 无法正确路由 显示 这是我的 ASP Net Core 项目文件目录设置 这是我的MapRoute声明于Startup cs app UseMvc config gt config MapRoute name
  • 无法更新 UITableView

    我有 UITableViewController 作为 RootViewController 我需要根据从 RootViewController 线程启动的另一个线程获取的数据向表中添加行 当我从其他线程返回到 RootViewContro
  • 如何解析MICR线数据?

    我有一台数字支票扫描仪 能够从支票中捕获 MICR 线 它将以字符串形式返回原始格式的 MICR 行 并使用分隔符分隔帐号 路由号码和支票号码 然而 每个银行对该 MICR 行的格式都不同 因此没有标准的方法来解析该数据 我尝试过的一些公司
  • Pandas 更新多索引数据框中的值

    如何编辑多索引数据框的值 如果它是一个非多索引数据框 我知道我可以这样做 df at 0 foo 12 3 另外 这不起作用 df loc 0 foo a 12 3 考虑一个多索引列数据框 colnames foo foo foo po p
  • 启动 spring web mvc 应用程序时出现异常

    当我使用 spring 3 2 9 时 我的 spring 项目工作正常 但如果我将其更改为 4 1 4 则在启动应用程序时会出现以下异常
  • 使用 C# 向 GMail 发送 IMAP 命令

    我一直在尝试访问我的 GMail 帐户以从我的电子邮件帐户中检索未读电子邮件 但是 我只执行登录 之后的任何操作都不起作用 首先 我连接到服务器 然后发送登录命令 最后发送检查命令 问题是收到的响应仅涉及连接和登录 之后 它就停止等待从 S
  • 通用保存方法

    在我的通用存储库中 我需要编写通用 Save 方法 该方法将根据 id 编辑现有实体或添加新实体 public void Save
  • Docker:更改存储 docker 卷的文件夹

    On my Ubuntu EC2我使用 docker 容器托管一个应用程序 db数据和upload数据存储在卷中CaseBook data db and CaseBook data uploads这是使用以下命令创建的 docker vol
  • EFcore 中“FromSql”操作的结果中不存在所需的列“id”

    我有一个大问题FromSql就是这样 我有一个这样的模型 public partial class model public string name 我想从数据库 sql server 中的过程中获得一些结果 当我执行下面的代码时 var