C# EntityFramework:添加行值作为参数的行函数
我最近使用EntityFramework取代了DataSet。数据集中有一个函数在EntityFramework中丢失 对于dataset,我有现成的AddRow方法:C# EntityFramework:添加行值作为参数的行函数,c#,entity-framework,insert,C#,Entity Framework,Insert,我最近使用EntityFramework取代了DataSet。数据集中有一个函数在EntityFramework中丢失 对于dataset,我有现成的AddRow方法: this.DataSet.CustomerDataTable.AddCustomerRow(int cId, int Name, int Telephone, ...) 此函数是自动生成的,表中的每一列都映射到一个参数。它非常有用,因为我不会忘记任何专栏。但使用EntityFramework,我可以做到以下几点: Custom
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方法,很容易忘记为其中一个字段赋值。因为我找不到自动生成的加法函数,所以我必须自己编写。我听说这个函数是用EntityFramework 4生成的。我正在使用6.1.1,但找不到它
您能告诉我如何找到这种方法或实现类似的结果而不必自己编写方法吗?也许您正在寻找 引自 添加方法 以添加状态将给定实体添加到集合的基础上下文中,以便在调用SaveChanges时将其插入数据库 顺便说一下,您的问题不是很清楚,例如,在一个常见的MVC场景中,模型的映射是由 因此,如果您必须向DbSet添加新闻
public ActionResult Create([Bind(Include = "Title,Body,SubTitle")]News model){
if (ModelState.IsValid){
ApplicationDbContext.News.Add(model);
ApplicationDbContext.News.SaveChanges();
}
}
绑定的艰苦工作完全由Model Binder完成很抱歉,我没有提到我没有使用普通的MVC。我从头开始写了所有的代码。由于DataSet/DataTable模型提供了参数化的AddRow方法,我认为EntityFramework也会提供。所以绑定必须由我自己亲手完成。@LionetChen您是在web表单场景中吗?o WCF服务中的windows窗体。我正在尝试将WCF调用接收到的DTO转换为EF实体,以便将它们保存在我的数据库中。谢谢您的建议。我去看看。我使用了一个类似的库,名为Omu.ValueInjecter,但是它基于类属性的名称。因此,我必须仔细检查名称并处理不匹配的名称。仍然需要大量的人力_