在生成Linq to SQL类时,如何定义复杂关系?

时间:2010-09-09 21:49:47

标签: sql-server linq linq-to-sql

我有两个视图:一个是从一个表构建的普通视图,其中包含整数ID和其他记录列(我们称之为View1)。我有另一个View(View2),它有一个整数ID列和第二列名为“table”(类型:varchar)。第二列包含ID列所关联的表的名称:因此,如果View2包含ID为999且其“table”列包含值“View1”,则表示引用的记录是View1中的ID 999。

据我所知,DBML只允许基于显式列引用的一对一或一对多关系;我宁愿将这种关系表达为基于ID列的一对一,并且View1.table等于“View2”。

这可能吗?我知道我可以在linq查询中简单地进行外连接,但是如果可能的话我宁愿避免这种情况。谢谢!

1 个答案:

答案 0 :(得分:0)

这是不可能的。 linq2sql映射器允许映射显式外键关系,但如果在数据库中实际上没有外键关系,则L2S无法以任何方式“推断”该关系。