实体框架为存储过程返回了错误的值

时间:2019-12-18 19:42:09

标签: entity-framework-6

我有理由相信此问题与另一个标题相似的问题不同。 在这种情况下,我得到的值始终为5。我们在数据库上运行了一条跟踪,并返回了VendorId => 12345,但是EF看到的只是5。 返回的值由SELECT @VendorId 'VendorId'提供,该值与另一个问题的答案之一一致。我已经删除了存储过程并重新添加了它。我不知道还能做什么。

在命令定义中

return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("Vendor_Create", vendorJsonParameter, ... (several more JSONs), activeDateParameter, expiryDateParameter, userIdParameter);

尽管运行跟踪并看到确切的调用返回的结果截然不同,但答案始终是5。

编辑: 我发现值是返回的行数。设置NO COUNT ON,现在返回-1。当我编辑EF定义时,向导告诉我此函数将不返回值。似乎先读取该函数,然后猜测它将不会返回值。但这是错误的。我认为这可能归结为一些SQL问题。

第二编辑: 强制它返回值是可行的。问题是,当我刷新实体时,它可能会被覆盖。这让我暂时过去了。仍然欢迎任何建议。我假设SQL函数中有一些不返回值的路径。

0 个答案:

没有答案