创建不带外键的LINQ关联

5t7ly7z5  于 2022-12-06  发布在  其他
关注(0)|答案(2)|浏览(147)

在LINQ中有类似ContactAddress.Contact的内容,而不在SQL Server中创建这两者之间的外键关系(将是Contact.IdContactAddress.ContactId),这可能吗<->?

rhfm7lfc

rhfm7lfc1#

是的,您可以定义目标数据库中不存在的外键。LINQ to SQL生成的连接将以相同的方式结束,我的意思是:

from category in db.Categories
from product in category.Products
select new
{
    Category = category,
    Product = product
}

将生成与下面相同的T-SQL:

from category in db.Categories
join product in db.Products on category.CategoryId equals product.CategoryId
select new
{
    Category = category,
    Product = product
}

就是这样:

SELECT
    *
FROM
    Category INNER JOIN Product ON Category.CategoryId = Product.CategoryId

这是一种使旧模式更可用的有用技术。

oxiaedzo

oxiaedzo2#

如果要在对象-关系Map中创建关系(即使该关系在数据库中不作为已声明的外键存在),则可以使用对象-关系设计器来完成此操作。
http://msdn.microsoft.com/en-us/library/bb629295.aspx

相关问题