C# C、 Visual Studio 2010,LINQ连接多个数据表

C# C、 Visual Studio 2010,LINQ连接多个数据表,c#,linq,join,datatable,C#,Linq,Join,Datatable,我有一个相当大的问题,我似乎不能动脑。从一开始。。。我有三个数据库表:现在我将它们拉入c paorgram中的数据表中。这些dt被称为库存和项目 |-----------------| |------------------| | - Inventory - | | - Items - | |-----------------| |------------------| | slot1 | | itemid | |

我有一个相当大的问题,我似乎不能动脑。从一开始。。。我有三个数据库表:现在我将它们拉入c paorgram中的数据表中。这些dt被称为库存和项目

|-----------------|   |------------------|
|  - Inventory -  |   |   - Items -      |
|-----------------|   |------------------|
|     slot1       |   |     itemid       |
|      qty1       |   |    itemname      |
|     slot2       |   | item description |
|      qty2       |   |------------------|
|-----------------|
在库存中-slot1包含一个物料id。 在库存中-数量1包含数量

项目应该是相当自我解释的

在sql中,我确信我会对插槽1=。。。我想是吧

无论如何,我想做的是找出插槽1中项目的itemid、名称和描述。我希望你能理解我的要求。。。另外,我已经在谷歌上搜索过了。。大约6个小时,每次我接近我认为有效的东西,它就不起作用了。我完全知道我想做什么,只是不知道该怎么做!此外,我确信它必须是LINQ,因为您不能在c中的数据表上运行sql:/


提前感谢您的帮助。

据我所知,您正在寻找以下内容:

from c in Inventory
   from item in Items
     where item.ID = c.Slot
       select new {c.Slot, item.name, c....}
这是一个简单的启动,我认为EF比Dataset好得多,…:


我选择了toturial的一小部分来学习如何制作您的第一个示例,在您看到此示例后,您可以先尝试编写代码。

您好,感谢您的快速回复。出现错误,找不到源类型“Syste.Data.DataTable”的查询模式的实现SelectMany“not found(未找到)。我建议您显示确切的数据类型,如果您使用的是EF中的实体项,则可以。如果我理解正确,我有混合数据类型。从数据库填充的数据表包含varchar和int数据字段。抱歉,我没有找到EF的解决方案。。。这是密码。。。数据集slot1=新数据集;var item1name=来自库存中的itemname//此处是错误。。。从item in items中的item.ID=c.Slot选择new{c.Slot,item.name,c…}非常感谢您的帮助@NicholasMordecai,我真的不确定,很长一段时间我没有玩EF,但可能是如果你删除新的关键字,你会得到结果,尝试上面的查询没有新的。但不管怎样,为什么要使用dataset,只需将EF与linq一起使用,使用自动实体生成器,这对您有很大帮助。