LINQ to SQL中的多态关联

LINQ to SQL是否提供了开箱即用的多态关联,就像ruby on rails活动记录一样? 如果没有,是否有任何解决方法来手动映射这些关联?

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

EDITTED

SQL Server不允许您在不是主键的列上具有外键关系,或者对其没有唯一约束(或索引)。 对于多个表使用子表中的相同列作为外键似乎没有任何限制。 DBML设计器确实发现了这些关系,并在导入表时创建与两个父表的关联。 但是,似乎只为其中一个关联生成设计器生成的代码。 也就是说,设计者正确地显示了关联,但是除了其中一个之外的所有代码都被省略了。 此外,可扩展性方法和属性设置器似乎也未在设计器生成的代码中正确定义。

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

此外,LINQ2SQL不支持开箱即用的多对多关系。 你没有自己编写代码就限制为1-1和1-many。