代码之家  ›  专栏  ›  技术社区  ›  dkarzon Sven Grosen

linq到sql通过多个ID字段链接对象

  •  3
  • dkarzon Sven Grosen  · 技术社区  · 15 年前

    我在一个项目上工作,这个项目几乎是一个调试经理,我似乎不知道如何在linq和sql中正确链接Items表。

    DepartmentID, CategoryID, ItemID
    

    我是不是做错了什么?所有的单身我都做得很好。。。

    5 回复  |  直到 15 年前
        2
  •  1
  •   StevenMcD    15 年前

        3
  •  0
  •   MattH    15 年前

    确保使用主键和外键关系正确设置键。如果这仍然不起作用,你可以考虑添加一个新的键列,而不是依赖于复合键吗?

    LINQtoSQL的最后一个选项通常是使用XML编辑器手动更新DBML。正常的单键关系如下所示:

    <Association Name="Schedule_Profile" Member="Schedule" ThisKey="ScheduleID" Type="Schedule" IsForeignKey="true" />
    

    建议您尝试自己创建元素,并尝试将此键设置为csv列列表。OtherKey属性也可能很有趣。

        4
  •  0
  •   Jim P    15 年前

    看起来您可以只使用ItemId而忽略其他2个,因为这是最具体的限定符——换句话说,部门和类别完全由ItemId决定。

        5
  •  0
  •   Cédric Boivin    15 年前

    你是说像这样的问题吗。

    var result = from table in dbContext.table1 join table2 in dbContext.table2 join new { table.DepartmentID, table.CategoryID, table.ItemID} equals new {table2.DepartmentID, table2.CategoryID, table2.ItemID}
    select table;