我正在爲我的一個項目使用實體框架和MVC結構。實體框架 - 爲每個表單獨模型是必要的?
由於EF管理所有與數據庫相關的變化和「更新模型從數據庫」我們得到的最新型號。
所以我需要我的每表來使用它作爲一個對象,並設定值成的創建單獨的model.cs類。
更具體地講, 整個項目使用Ajax調用其所有操作。 在這些Ajax調用中,我將值傳遞給JSON中的數據。
現在,在控制器的水平我需要檢索從JSON值。
對於那個如何使用我的實體模型特定的表?
我是否需要爲每個表創建模型?
無法自動爲每個表格生成模型?
更新: 參考代碼添加。
1.
Let's say
I have a table Student with , StudentID INT, ClassID INT , Name VARCHAR().
2.
Here is the JavaScript Code
function AddStudent() {
var data = { "ClassID": 1, "Name": 'ABC' }
$.ajax({
url: '/Admin/AddNewStudent',
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
cache: false,
data: JSON.stringify(data),
success: function (ServiceResponce) {
refreshgird();
}
});
}
3.
StudentController.cs
public JsonResult AddNewStudent(Student obj)
{
try
{
var add = db.AddNewStudent(obj.ClassID, obj.Name).ToString();
return Json(add, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
return Json(ex.ToString(), JsonRequestBehavior.AllowGet);
}
}
4. Student.cs
public class Student
{
public int ClassID{ get; set; }
public string Name{ get; set; }
}
我的問題是通過創建Student.cs型號我下面的正確方式或不?
我只是想知道,如果我們在帶有EDMX的模型文件夾中有TableName.cls文件,那是好的做法還是不行? 如果沒有請讓我知道如何避免這種情況。 – ParthKansara
您是否嘗試使用Visual Studio提供的內置模板創建EF模型和上下文?這將創建必要的課程供您直接使用。現在爲了顯示數據,建議根據要顯示的數據創建視圖模型類。一個視圖模型只能表示數據庫類或可以組合多個數據庫類。如果你有意見只在一個數據庫類上執行CRUD,那麼一對一視圖模型更有意義。 –
所以我需要使用由EF生成的「SpName_Result」類來使它在我的情況下工作,對吧?你在說什麼Build Template,T4嗎? – ParthKansara