2009-02-04 57 views
2

LINQ to SQL是否提供开箱即用的多态关联,因为ruby在rails活动记录上的作用?如果没有,是否有任何解决方法手动映射这些关联?LINQ to SQL中的多态关联

回答

2

同意。我发现没有可能做到这一点,也没有使用设计师,也没有手工添加类/方法属性。而且不可能对多态关联有外键约束。我放弃了这个选项,谢谢。

1

EDITTED

SQL Server将不会让你有一列,它是不是一个主键或没有它独特的约束(或指数)外键关系。多个表在子表中使用与外键相同的列似乎没有任何限制。 DBML设计器确实会发现这些关系,并且在导入表时将创建与两个父表的关联。但是,似乎只会为其中一个关联生成设计器生成的代码。也就是说,设计师正确地显示了这些关联,但是其中一个的代码被省略了。此外,扩展性方法和属性设置似乎也没有在设计器生成的代码中正确定义。

如果您在设计器中手动添加关联,情况也会如此。代码中只实现了其中一个实际关联,而其他父类的代码似乎无法挽回地被破坏。您可能可以使用部分类实现来添加所需的功能以匹配设计者将生成的内容,但我没有尝试过。

此外,LINQ2SQL不支持开箱即用的多对多关系。无需自己编写代码,您只能使用1-1和1-many。