-1

我从我的 SQL Server 数据库创建了一个实体数据模型。尽管我的每个表中只有一个主键,但我的几乎所有属性都标记为实体键。我当然可以修改这些,但谁能告诉我为什么会这样?

4

2 回答 2

0

默认情况下,它很可能已确定标记为键的列使条目唯一。它也会对导入的视图执行此操作。

也就是说,我已经导入了具有唯一约束和主键的表定义,并且没有看到这种行为。

于 2013-03-18T19:49:42.470 回答
0

使用 Xml 编辑器打开 edmx 文件(右键单击解决方案中的 Edmx 文件并选择“打开方式...)。完成此操作后,您将在文件中看到 Xml 注释,说明无法使用现有键列的原因。通常是因为该列属于 EF 不支持的类型(例如 HierarchyId),因此该列不受支持,因此被排除在外。这样您最终会得到一个没有键列的表,并且将创建一个人工键在这种情况下,它由所有类型的列组成,这些列是键列的有效类型(例如,空间类型的列将从该列表中排除,因为它们不是有效的键列是 EF)

于 2013-03-18T20:52:54.963 回答