c# -实体框架插入
本文关键字:插入 框架 实体 | 更新日期: 2023-09-27 18:06:34
我有两个表Category和Product,我想将产品插入到类别中。这些表之间的表关系是1到0或1。
分类表:
CID : integer,
CategoryName : varchar,
产品表:
CID: integer, // foreign key to category table.
ProductName: varchar,
UnitsInstock: integer,
如何编写一个简单的查询将产品插入到ProductTable中?如何处理外键情况?如果categoryid不存在,则不应插入该产品。
我将非常感谢任何帮助。
一种方法是:
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
。如果没有,请详细说明
通常一个类别对一个产品是多对一,但我建议先学习Linq to Sql的基础知识:
http://msdn.microsoft.com/en-us/library/bb425822.aspxLinq to Sql 101
学习实体框架