我有一个数据库依赖于一堆多对多而不是非整数化整个数据库(这是非常大的)我想知道是否有一种简单的方法来实现多对多关系使用LINQ-to-SQL然而......
我看到的任何地方我都找到了关于如何困难的文章,或者简单的解决方法实际上是“非”简单。但是我使用asp.net 3.5可以找到所有可以找到的文章。
我应该只创建一个存储过程然后将其作为方法拖到.DBML文件中吗?
所以我想我的问题是:
是否有任何新方法可以在ASP.NET 4.0中使用Linq-to-Sql以及MVC 3实现多对多。
我的项目中的用法示例:
在完成的模型中,将有其他表链接到多对多表(即EventAddress,EventUrl,VipAddress,VipPicture,GuestAddress,GuestPhone,GuestEmail等...)
所以你可以看到这将是一个痛苦的a $$ to denormalize。
谢谢你, 添
答案 0 :(得分:1)
您是否考虑过使用实体框架? 它很好地处理m:n关系。在您的情况下,EmployeeAddress表将被抽象为Employee对象上的地址列表。 我的印象是,linq to sql并不是微软的优先考虑因素,EF Is。 我知道如果您不希望转换现有项目,但对于新项目,EF4可能更适合。
答案 1 :(得分:0)
LINQ to SQL将始终直接映射到数据库的结构。如果您的数据库具有所有这些联结表,那么它们将在您的LINQ to SQL模型中 - 期间。
答案 2 :(得分:0)
虽然您可以在LINQ to SQL中映射多对多关系 和LINQ to Entities,LINQ to Entities允许直接映射 没有中间类的多对多关系,而LINQ为 SQL要求中间类为每个类映射一对多 与多对多关系一致的课程。
link to the quote above - http://msdn.microsoft.com/en-us/library/cc161164.aspx