我是以编程方式创建edmx文件作为我们的代码生成过程的一部分,我想知道当你从“更新模型时”设计师如何决定使用“1”或“0..1”作为关系数据库”。对此有何见解?感谢
修改
好吧,我认为当“many”侧是可以为空的外键时它使用“0..1”而如果它不可为空则使用“1”。谁能证实这一点?
答案 0 :(得分:4)
是的,为父关系角色设置“0..1”或“1”取决于列是否可为空的事实。
不要忘记,如果关系构建在两个表的主键列部分(1到1关联)上,则基数将为1(父)到0..1(子)。
如果您正在开发新的edmx生成工具,我们建议您尽可能地进行实验和分析。我们开发了一个设计时工具,用于生成和编辑实体框架和LINQ to SQL模型,并为我们的客户进一步生成Oracle,MySQL,PostgreSQL,SQL Server和SQLite代码。 SQL Server没有问题,因为Entity Framework最初是在它上面开发的,但是其他数据库显示出一些困难。甚至有人认为,例如,Oracle数据库的一些特性根本没有被考虑在内。
答案 1 :(得分:0)
您的编辑是现货。 EF根据字段是否可为空来检测它。