我有两个表类别和产品,我想将产品分类。这些表之间的表关系是zeor或one表之间的关系。
分类表:
CID : integer,
CategoryName : varchar,
产品表:
CID: integer, // foreign key to category table.
ProductName: varchar,
UnitsInstock: integer,
如何编写将产品插入ProductTable的简单查询?如何处理外围关键情况?如果categoryid不存在,则不应插入产品。
我真的很感激任何帮助。
答案 0 :(得分:0)
通常产品的类别是多对一的,但我建议首先研究Linq到Sql的基础知识:
答案 1 :(得分: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?
}
}
它假定您的CategoryId
实体上有外键属性Product
。如果您没有,请说明更多细节。