2014-02-14 54 views
0

我目前正在開發我的第一個數據庫驅動的.NET MVC應用程序,並且在其中有一個名爲Animals的表,其中包含許多字段。一個領域是動物的品種,在這個領域中,我持有一個Id到另一個品種表,實際存儲品種的文本。如何正確執行LINQ連接

使用LINQ,如何我聯接表,然後將數據發送給視圖,以便它可以在提交格式像這樣 可以看到:enter image description here

在圖像,其中品種列顯示列表的數字,我希望它是與Breed表中的實際繁殖相關的

+0

你使用實體框架? –

+0

是Kirill,我用DB第一種方法 – user2437588

+0

所以Linq查詢可以有一個[join clause](http://msdn.microsoft.com/en-us/library/bb311040.aspx)。試試看看它是否有效。 FYI Linq與MVC無關。 –

回答

0

使用導航屬性,您可以從模型中生成導航屬性。

然後你的班級應該看起來像那樣。

public class Animals { 
    //primitive properties 
    public int Id {get;set;} 
    //etc. 

    //Navigation Properties 
    public virtual Breeds Breeds {get;set;} 
} 

public class Breeds { 
    //prmitive properties 
    public int Id {get;set;} 
    public string Name {get;set;} 

    //Navigation properties 
    public virtual ICollection<Animals> Animals {get;set;} 
} 

然後得到一個實體與導航屬性:

var animal = Repository.Animals.Include(m => m.Breed) 
         .FirstOrDefault(m => m.Id == <someId>); 

,您可以使用(想象一下你的看法的模型是一個Animals

@Html.Displayfor(m => m.Breed.Name)