我在我的项目中添加了一个新的ADO.Net实体数据模型,并使用更新向导将表添加到模型中.五个选定的表被添加到设计图面.另外两个表不会添加.我在向导中选择它们并单击"完成",但它们从未出现在设计图面上.
这是一个错误,还是有些情况下表格无法添加到模型中(按设计)?
更新:XML(*.edmx)揭示了问题.
感谢克雷格您的答复.
设计表面与实体模型不同.您可以在EDMX中的映射中放置一个表格,该表格不会出现在设计图面上.将文件视为XML以查看是否是这种情况.在这种情况下,更新向导将不允许您重新添加表,因为它们已经是实体模型的一部分.因此,一般来说,更新向导本身更多地了解您的实体模型,而不是设计表面.
我不认为这正是您所处的情况,但它应该为您提供解决方案的一般想法:进入XML并查找对相关表的引用.
将主键设置为所有表,或者只将一个未选中的复选框设置为"允许空"到每个表的任何列.这个对我有用 :)
1.更改表结构并添加主列.更新模型.
2.在XML编辑器中修改.EDMX文件,并尝试在此特定表的标记下添加新列.(不管用)
3.而不是创建一个新的主列到退出表,我将通过涉及所有现有列来创建一个复合键.(WORKED)
实体框架:添加没有主键到实体模型的DataTable.
我也有这个问题,以上所有都不适合我.对我有帮助的是以下内容.
当您尝试连接数据库时,数据库可以使用具有不同凭据的不同用户,它可以接受.让我们说用户A直到D.
如果您尝试与用户建立连接,请确保用户已启用正确的凭据,在这种情况下,启用了读取和写入选项.
为此,启动MS SQL Server Managment Studio,与SQL Server连接并选择您尝试在Visual Studio中建立连接的数据库.在"your_dbname" - >"安全性" - >"用户"下,您可以找到用户列表.右键单击您尝试登录的用户名,然后选择属性.一个窗口打开.选择"常规"(默认选中)页面,在"数据库角色成员资格"选项卡下,确保选中"db_datareader"和"db_datawrite".
注意:当您登录MS SQL Server Managment Studio时,请确保您使用可以启用/禁用这些选项的用户登录...
在您的特定表中检查“空”。如果所有列均设置为“允许空”,则实体框架会将其视为“空”表。我遇到了同样的问题,并且未选中“ Allow Null”,它添加了所需的表。