[英]EntityFramework: Add row function with row values as parameters
我最近使用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,找不到它。
您能告诉我如何找到此方法或达到类似的结果,而不必自己编写方法吗?
也许您正在寻找Asp.net MVC框架的模型绑定
从MSDN引用
DbSet.Add方法
在“已添加”状态下将给定实体添加到集合的基础上下文中,以便在调用SaveChanges时将其插入数据库中。
顺便说一句,您的问题不是很清楚,在常见的MVC场景中,例如,模型的映射是由Model Binder完成的
因此,如果您必须将新闻添加到DbSet
public ActionResult Create([Bind(Include = "Title,Body,SubTitle")]News model){
if (ModelState.IsValid){
ApplicationDbContext.News.Add(model);
ApplicationDbContext.News.SaveChanges();
}
}
绑定的辛苦工作完全由Model Binder完成
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.