私はMVC構造のEntity Frameworkを私のプロジェクトに使用しています。エンティティフレームワーク - 各テーブルの個別モデルが必要ですか?
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モデルを作成することですか?あなたのEFモデルはMVCプロジェクトに含まれている場合
私はちょうどそれが私たちのモデルフォルダにEDMXでTableName.clsファイルを持っていることを知りたいです、それは良い練習かどうかですか? それを避ける方法を教えてください。 – ParthKansara
Visual Studioによって提供される組み込みのテンプレートを使用してEFモデルとコンテキストを作成しようとしましたか?それは、あなたが直接使うために必要なクラスを作成します。データを表示するには、表示するデータに基づいてviewmodelクラスを作成することをお勧めします。 1つのビューモデルはdbクラスでのみ表現でき、複数のdbクラスを組み合わせることができます。 1つのdbクラスでのみCRUDを実行するビューがある場合は、1対1のビューモデルが理にかなっています。 –
私はSpon_ResultクラスをEFで生成して使用する必要があります。あなたが話しているビルドテンプレートは、T4ですか? – ParthKansara