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不存在,则不应插入该产品。

我将非常感谢任何帮助。

c# -实体框架插入

一种方法是:

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.aspx

Linq to Sql 101

学习实体框架