Linq不允许空值正确生成视图

时间:2009-08-05 15:58:52

标签: c# linq

我有一个观点:

SELECT dbo.Theme.ThemeID,
       dbo.ThemeObject.XLocation,
       dbo.ThemeObject.YLocation,
       dbo.ThemeObject.ThemeElementTypeID AS ThemeObject_ThemeElementTypeID, 
       dbo.ThemeImage.ThemeImageData
FROM   dbo.Theme INNER JOIN
       dbo.ThemeObject ON dbo.Theme.ThemeID = dbo.ThemeObject.ThemeID LEFT OUTER JOIN
       dbo.ThemeImage ON dbo.ThemeObject.ThemeObjectID = dbo.ThemeImage.ThemeObjectID
WHERE  (dbo.ThemeObject.IsDeleted = 0 OR dbo.ThemeObject.IsDeleted IS NULL) AND
       (dbo.ThemeImage.IsDeleted = 0 OR dbo.ThemeImage.IsDeleted IS NULL) AND
       (dbo.Theme.IsDeleted = 0)

我的问题是并非所有ThemeObject都有图像(因此外连接)。 Linq不会识别这一点,并且不会告诉生成器允许列中的空值,因此如果我们不手动设置该列以允许每次都为空,则会导致崩溃。

这是唯一似乎这样做的观点,我无法弄清楚原因。

除了在每次重新创建DAL之后在设计器中手动配置列之外(我有时会删除所有表和视图并重新删除它们,因为微妙的更改会在它们发生时神秘地找不到它们的路径。 ..但让那个人跟上它是我无法控制的) - 有什么我可以调整,以使其正确生成或告诉它改变输出?或者某种覆盖我不知道我可以使用吗?

0 个答案:

没有答案