实体框架无效的对象名称错误

时间:2010-10-08 13:24:45

标签: c# sql-server entity-framework

我正在使用VS2008连接到SQL服务器数据库,以便在C#中填充它。它很顺利,我能够成功查询,插入和更新数据库中的所有表,除了一个。每当我尝试查询或插入一个表时,我都会收到以下错误:

Message = "Invalid object name 'DB_NewModelStoreContainer.DATATYPE'."

生成此错误的查询是:

var test3 = (from o in context.DATATYPE
where o.DATETYPE_NAME == "Single"
select o).First();
(yes I know it should be DATATYPE, but that is not the problem =) )

每当我将数据库添加到项目中时,由于某种原因,它会将DATATYPE表中的每个属性标记为主键。我进入了.edmx的xml并修复了这个,但我仍然得到这个错误,我找不到为什么><。任何帮助都将非常感谢!提前谢谢。

1 个答案:

答案 0 :(得分:0)

为了使用EntityFramework,应该清楚地提到PrimaryKey和Foreign Key(如果存在)。

如果您没有任何主键,请将唯一列作为主键,它应该可以正常工作。我想知道你怎么能插入没有主键的记录

在edmx设计器中,您可能错过了某些内容,或者可能是某些映射在更改后被搞砸了。因此,修改数据库中的表以将主键设置为每个表,然后尝试从头开始生成edmx。