当前位置:  开发笔记 > 编程语言 > 正文

ADO.NET实体框架:更新向导不会添加表

如何解决《ADO.NET实体框架:更新向导不会添加表》经验,为你挑选了5个好方法。

我在我的项目中添加了一个新的ADO.Net实体数据模型,并使用更新向导将表添加到模型中.五个选定的表被添加到设计图面.另外两个表不会添加.我在向导中选择它们并单击"完成",但它们从未出现在设计图面上.

这是一个错误,还是有些情况下表格无法添加到模型中(按设计)?


更新:XML(*.edmx)揭示了问题.



感谢克雷格您的答复.



1> Craig Stuntz..:

设计表面与实体模型不同.您可以在EDMX中的映射中放置一个表格,该表格不会出现在设计图面上.将文件视为XML以查看是否是这种情况.在这种情况下,更新向导将不允许您重新添加表,因为它们已经是实体模型的一部分.因此,一般来说,更新向导本身更多地了解您的实体模型,而不是设计表面.

我不认为这正是您所处的情况,但它应该为您提供解决方案的一般想法:进入XML并查找对相关表的引用.


我刚刚遇到这个问题,我从模型中删除了一个表,当我再次添加它时,视觉设计师没有将它显示为在数据库中.为了解决这个问题,我删除了.edmx文件中的文本,但设法弄乱了XML.如果你这样做,请先备份文件,以防万一.幸运的是,我能够使用git diff找到混乱的标签.

2> 小智..:

将主键设置为所有表,或者只将一个未选中的复选框设置为"允许空"到每个表的任何列.这个对我有用 :)


我相信这是正确的答案,至少对我来说是这样。谢谢!

3> 小智..:

1.更改表结构并添加主列.更新模型.

2.在XML编辑器中修改.EDMX文件,并尝试在此特定表的标记下添加新列.(不管用)

3.而不是创建一个新的主列到退出表,我将通过涉及所有现有列来创建一个复合键.(WORKED)

实体框架:添加没有主键到实体模型的DataTable.



4> Kip ei..:

我也有这个问题,以上所有都不适合我.对我有帮助的是以下内容.

当您尝试连接数据库时,数据库可以使用具有不同凭据的不同用户,它可以接受.让我们说用户A直到D.

如果您尝试与用户建立连接,请确保用户已启用正确的凭据,在这种情况下,启用了读取和写入选项.

为此,启动MS SQL Server Managment Studio,与SQL Server连接并选择您尝试在Visual Studio中建立连接的数据库.在"your_dbname" - >"安全性" - >"用户"下,您可以找到用户列表.右键单击您尝试登录的用户名,然后选择属性.一个窗口打开.选择"常规"(默认选中)页面,在"数据库角色成员资格"选项卡下,确保选中"db_datareader"和"db_datawrite".

注意:当您登录MS SQL Server Managment Studio时,请确保您使用可以启用/禁用这些选项的用户登录...



5> Ketan Dubey..:

在您的特定表中检查“空”。如果所有列均设置为“允许空”,则实体框架会将其视为“空”表。我遇到了同样的问题,并且未选中“ Allow Null”,它添加了所需的表。

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有