在使用Linq to SQL时,对多对多关系表使用多列(复合)主键是否有益?
还是应该仅将身份列添加为非群集主键并适当地索引FK列?
不是LINQ问题。如果您的架构需要它们,请使用它们。如果您不这样做,请不要。无论哪种方式,LINQ都能很好地处理您的架构。
LINQ toSQL不能很好处理的一个领域是用于连接多对多关系的多列/键映射表,但是我不会说这严格属于您的问题解决的范畴。您仍然可以在LINQ内的映射表上执行CRUD操作,但是LINQ无法遍历多对多映射表所呈现的关系。(LINQ可与一对一和一对多表配合使用。)
我不能说任何有关实体框架的问题,但是如果EF遇到多列/多键表的任何问题,我将感到非常惊讶。