gpt4 book ai didi

sql-server - SQL Server 2008 View with LEFT OUTER JOIN 在 Entity Framework 4 上失败

转载 作者:行者123 更新时间:2023-12-02 22:30:45 26 4
gpt4 key购买 nike

  • SQL Server 2008R2
  • Entity Framework 4.x(早期版本)

我最近更改了 SQL Server 2088 R2 实例中的一个 View ,现在它包含一些 LEFT OUTER JOINS 而不是 INNER JOINS,这导致一些字段现在包含 NULL .这留下了一个异常(exception),即该字段不允许为空,因为它们是实体键。

Please note that all files are Entity Keys

请注意,所有显示的都必须是实体键,并且图像只显示整个 View 的一部分。

那么我做错了什么吗?是否有任何解决办法,或者我必须忍受它。

这是错误之一

Error 213 Running transformation: Key Part: 'WorkStepId' for type OrderSummary is not valid. All parts of the key must be non nullable.

最佳答案

实体键不允许为 NULL。 Entity Framework 必须能够通过一个或多个键的组合来确定实体的唯一性。我不知道你的确切数据情况,但可能有一种方法可以解决这个要求,但它不是很干净。

一个可能的解决方法是在您的 View T-SQL 中包含逻辑,以将 NULL 值合并为一个已知的“虚拟”值。例如,对于上面的数据,您可以在读取时将两个 NULL 值设置为 -1。然而:

  • 您必须在保存时使用某种验证逻辑或存储过程,以防止在进行写入时将错误数据持久保存到数据库中。
  • 您必须确保只能返回包含 WorkStepId 和 StepStatusId per Id 两个 NULL 值的一行。

关于sql-server - SQL Server 2008 View with LEFT OUTER JOIN 在 Entity Framework 4 上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12306689/

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