使用数据库中的更新模型添加只读视图

时间:2012-09-05 15:50:50

标签: c# sql-server asp.net-mvc-3 view model

我正在尝试使用.edmx文件中的数据库中的更新模型选项向实体数据模型添加只读视图。我一直在谷歌上搜索这个问题,我去的每个网站都有问题,我点击说我需要添加一个主键。我知道添加这个视图是可能的,因为我在使用相同的数据库之前已经这样做了,我只是不记得我是怎么做到的。我无法为视图添加密钥,因为它是只读的,因此答案对我不起作用。我知道之前已经问过这个问题,但说实话,他们都回到了那些没有提供良好答案的相同问题。我100%确定我可以将此视图添加到实体模型中,在我弄明白后,如果没有其他人可以告诉我怎么做,我会在这里发布如何做到这一点。与此同时,我想我会问你们,如果你们知道如何将这个视图添加到模型中。谢谢你的帮助!希望你有美好的一天!

2 个答案:

答案 0 :(得分:1)

好吧,我记得遇到过同样的情况。

如果相同:

使用xml编辑器打开您的edmx(Visual Studio,以...打开)。

您应该在文件中引用您的视图,但已注释。

如果仍然如此(这是我的情况),可以在此处找到解决方案: http://social.msdn.microsoft.com/Forums/en/adodotnetentityframework/thread/fbc69ed3-dd2e-4308-bbf2-0ce330526a4f

第一个解决方案(添加键)没问题:您可以为模型添加键,而不是视图。 但是如果从数据库执行更新模型,这些更改将会丢失......

答案 1 :(得分:1)

即使使用只读视图,它也需要PK(以唯一标识行)才能从数据库中正确检索。

此外,PK需要是非可空字段。我必须在我的Views的select语句中添加ISNULL(Field,0)作为Field。