EntityFramework:添加以行值为参数的行函数

本文关键字:参数 函数 添加 EntityFramework | 更新日期: 2023-09-27 18:24:58

我最近使用了EntityFramework来代替DataSet的使用。数据集中有一个函数在EntityFramework中丢失。

对于数据集,我有现成的AddRow方法:

this.DataSet.CustomerDataTable.AddCustomerRow(int cId, int Name, int Telephone, ...)

此函数是自动生成的,表中的每一列都映射到一个参数。它非常有用,因为我不会忘记任何专栏。但有了EntityFramework,我可以做到这一点:

Customer newCustomer = new Customer();
newCustomer.Name = "John";
newCustomer.Telephone = "04xxxxxxxx";
...
context.Customers.Add(newCustomer );

如果没有参数化的AddRow方法,很容易忘记为其中一个字段赋值。由于找不到自动生成的AddEntity函数,我不得不自己编写。我被告知此函数是使用EntityFramework 4生成的。我正在使用6.1.1,但找不到它。

你能告诉我如何在不需要自己写方法的情况下找到这种方法或获得类似的结果吗?

EntityFramework:添加以行值为参数的行函数

也许您正在寻找Asp.net MVC Framework的模型绑定

引用MSDN

DbSet.Add方法

将给定实体添加到处于Added状态的集的基础上下文中,以便在调用SaveChanges时将其插入数据库。

顺便说一句,你的问题不是很清楚,例如,在一个常见的MVC场景中,你的模型的映射是由ModelBinder完成的

所以,如果你必须添加一个新闻到你的数据库集

 public ActionResult Create([Bind(Include = "Title,Body,SubTitle")]News model){
  if (ModelState.IsValid){
    ApplicationDbContext.News.Add(model);
    ApplicationDbContext.News.SaveChanges();
  }
}

绑定的艰苦工作完全由Model Binder 完成