我想通過使用兩個外鍵在實體中顯示兩個值。MVC3無法顯示其他表值使用外鍵
我有三張表;表中的一個是產品表。
兩個表格分別是Category和Model,用於顯示這些值'name'和'modelName'。
當我使用LINQ時,我在添加Model實體之前使用了此編碼。
var product = from a in db.Product.Include(a => a.Category)
select a;
如何在此處添加Model實體?
如
var product = from a in db.Product.Include(a => a.Category, a => a.Model)
select a;
是否可以寫?
這是我的模特。
--Prodruct.cs--
public class Product
{
[Key] public int productId { get; set; }
[Required(ErrorMessage = "Please select category")]
public int categoryId { get; set; }
[Required(ErrorMessage = "Please select model")]
public int modelId { get; set; }
[DisplayName("Model name")]
public String model { get; set; }
public virtual Category Category { get; set; }
public virtual Model Model { get; set; }
}
--Category.cs--
public class Category
{
[Key] public int categoryId { get; set; }
public String name { get; set; }
}
--Model.cs--
public class Model
{
[Key] public int modelId { get; set; }
public String name { get; set; }
}
--RentalDB.cs--
public class rentalDB : DbContext
{
public DbSet<Product> Product { get; set; }
public DbSet<Model> Model { get; set; }
public DbSet<Customer> Customer { get; set; }
public DbSet<Order> Order { get; set; }
public DbSet<Cart> Cart { get; set; }
public DbSet<Category> Category { get; set; }
public DbSet<OrderDetails> OrderDetails { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
}
請讓我知道如何將內連接(?)放在LINQ中。
謝謝。
爲wholee1只是一個點:「LINQ」生成左邊加入了包括不內。如果你想檢查是否存在關係,你將不得不使用一些「where」 – 2012-04-06 12:20:05
謝謝你的回覆,但是當我把你的編碼,我在'返回視圖(product.ToList());錯誤';'它說'元數據集合中的多個項目與'模型'的標識相匹配。是否有可能在linq中使用兩個實體類別和模型? – wholee1 2012-04-06 13:21:42