2016-09-03 39 views
7

我正在使用ODP.NET。我已经为该项目添加了一个ADO.NET模型。这样,就创建了一个edmx文件。我选择了“从数据库创建”,在选择了表格并单击完成后,edmx设计表面显示为空,但是,模型浏览器窗口显示了我添加的表格。现在不能将表格从模型浏览器拖入edmx设计表面

的问题是,我不能再拖累&下降,从模型浏览器中的表到设计图面。请参阅此截图:

enter image description here

回答

5

可能是因为以下原因:

  1. 我相信你有选择“从数据库更新模型...”上下文菜单选项并挑选从列表中
  2. 表可确保您试图拖动表格和下降有一对夫妇的想法在这里定义
+1

是..我认为这是你提到的第二个。我已经使用XML编辑器打开了edmx文件,并且表格定义显示了一条警告消息,告诉该表格缺少主键。我怎样才能绕过这个限制?有没有办法做到这一点? – jstuardo

+0

如果您没有主键,那么它只能像EF中的视图一样是只读的。 简单的解决方案是将一个身份增量的id字段添加到表中并使其成为主键。 –

+0

EF没有强制使用主键,但如果表中没有主键,那么它会将任何不可空的非二进制列视为唯一键。如果它找不到任何这样的列,那么它会抛出你得到的警告。如果添加主键不是选项,请尝试添加表格唯一的行号列。 –

0

主键。

1.)此数据库的app.config中的用户标识是否有权进行更改?

2.)您是否安装了ODT(Oracle Developer Tools)?

3)是否使用ODT的一致/ compatable版本,Oracle客户端(ODAC)和数据库本身?

+0

是的......他们都是真的。在我的应用程序中,我已经使用ExecureSqlCommand方法调用存储过程,因此我将使用相同的INSERT语句 – jstuardo

0

我想这是Linq to SQL文件,Linq to SQL文件的经验对我来说不好。

反而拖的下降,你需要做以下的EDMX设计师表面上

  • 右键。您有很多选项,其中选择“从数据库更新模型”选项。现在

  • ,你会看到它有在创建EDMX文件,你已经看到了在新窗口中的所有数据库对象通常的屏幕。

  • 从这个窗口选择了新表,并从中产生EDMX模型。

  • 后,该模型将出现在EDMX设计器窗口。

+0

??? ......也许你误解了这个问题。我已经完成了你所说的,但这样,edmx surface不显示任何表格。最后,我用ExecuteSqlCommand发出了一条INSERT语句,我需要做的唯一操作是什么。 – jstuardo

+0

哦,好的,希望有人能帮助你:) – Mostafiz