2009-06-24 129 views
3

我正在以编程方式创建一个edmx文件作为我们的代码生成过程的一部分,我想知道设计师如何决定使用“1”或“0..1”作为关系时“从数据库更新模型”。对此有何看法?由于实体框架如何判断一个关系是否应该使用多个“一个”或“零个或一个”?

编辑:

好吧,我想它使用“0..1”的时候,“多”方是空的外键和“1”,如果它不能为空。任何人都可以确认吗?

回答

4

是的,为父关系角色设置“0..1”或“1”取决于该列是否可为空的事实。
不要忘记,如果关系建立在来自两个表的主键列的一部分(1到1关联)上,则基数将为1(父)为0..1(子)。
如果您正在开发新的edmx-generation工具,我们建议您尽可能进行试验和分析。我们开发了一个设计时工具,用于生成和编辑实体框架和LINQ to SQL模型,并为我们的客户进一步生成用于Oracle,MySQL,PostgreSQL,SQL Server和SQLite的代码。 SQL Server没有问题,因为实体框架最初是通过它开发的,但其他数据库显示出一些困难。例如,甚至有人认为Oracle数据库的一些特性完全没有被考虑到。

0

您的编辑是现货。 EF根据该字段是否可为空来检测它。

相关问题