2013-03-16 60 views
0

我有相当多的问题,我似乎无法左右我的头。从一开始......我有三个数据库表格:现在我将它们拖入c#paorgram中的DATATABLES中。这些dt被称为库存和物品。C#,Visual Studio 2010中,LINQ加入多个数据表

|-----------------| |------------------| 
| - Inventory - | | - Items -  | 
|-----------------| |------------------| 
|  slot1  | |  itemid  | 
|  qty1  | | itemname  | 
|  slot2  | | item description | 
|  qty2  | |------------------| 
|-----------------| 

库存 - slot1包含一个项目ID。库存中的 - 数量1包含数量。

项目应该是相当自我explantiory。

在SQL中我确定我会进行中的项目,其中插槽1 =“联接” ......我觉得呢?

无论如何,我想要做的是找出的itemid,名称和插槽1.我希望这个项目的描述你明白什么即时通讯要求... PS我已经搜索谷歌..约6几小时几乎每次我接近我认为会起作用的地方都没有。我确切知道我想做什么,我只是不知道该怎么去做!此外,我敢肯定它不得不成为一个LINQ,你不能在数据表在C#中运行SQL:提前为任何帮助/

感谢。

回答

0

据我所知,你寻找类似如下:

from c in Inventory 
    from item in Items 
    where item.ID = c.Slot 
     select new {c.Slot, item.name, c....} 

这是EF简单的启动(我认为这是比数据集好太多了,....): http://entityframeworktutorial.net/create-first-simple-EDM.aspx#.UUTNmjfxfXw

我选择toturial的一小部分,以了解如何制作第一个样本,在看到此代码后,您可以先尝试代码。

+0

嗨,感谢您的快速回复。我得到一个错误,“找不到源类型为'Syste.Data.DataTable'的查询模式的实现''SelectMany'找不到 – 2013-03-16 17:23:51

+0

我建议您显示确切的数据类型,如果您使用的是实体项目EF这将是确定。 – 2013-03-16 17:29:14

+0

如果我正确认识你,我有混合数据类型。正在从数据库中填充数据表同时包含VARCHAR和int数据字段。 – 2013-03-16 17:40:50