簡體   English   中英

EntityFramework:添加以行值作為參數的行函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM