2011-08-25 179 views
0

我有两个表类别和产品,我想插入产品的类别。这些表格之间的表格关系是一对一的关系。C# - 实体框架插入

分类表:

CID : integer, 
CategoryName : varchar, 

产品表:

CID: integer, // foreign key to category table. 
ProductName: varchar, 
UnitsInstock: integer, 

我怎么能写插入一个产品进入的productTable一个简单的查询?我如何处理公司的关键情况?如果分类标识不存在,则不应插入该产品。

我会非常感谢任何形式的帮助。

+0

你使用什么数据库软件?如果你设置正确,SQL Server已经为你检查了。 – LueTm

+0

@LueTm - Iam使用Sql Server。我需要知道的是如何编写实体查询以将产品插入到产品表中,但前提是产品ID与类别ID匹配。 – Erik

回答

0

一种方法可以是这一个:

int categoryIdOfNewProduct = 123; 
using (var context = new MyContext()) 
{ 
    bool categoryExists = context.Categories 
     .Any(c => c.Id == categoryIdOfNewProduct); 

    if (categoryExists) 
    { 
     var newProduct = new Product 
     { 
      Name = "New Product", 
      CategoryId = categoryIdOfNewProduct, 
      // other properties 
     }; 

     context.Products.Add(newProduct); // EF 4.1 
     context.SaveChanges(); 
    } 
    else 
    { 
     //Perhaps some message to user that category doesn't exist? Or Log entry? 
    } 
} 

它假设您的Product实体上有一个外键属性CategoryId。如果你没有一个请指出更多的细节。

+0

谢谢,这让我很开心:D – Erik