私はEntityフレームワークで作業を開始しています。以下は、私がEFとやりとりするためのプロジェクトを整理した方法です。私はちょうど私が正しい方向に向かっているかどうかを知りたい。より良いアプローチを提案してください。 UIがDALを参照してはならないようなアーキテクチャのことは無視してください。これはちょうど「知っている」プロジェクトです。 :)は、これがEntity Frameworkとやりとりする正しい方法ですか?
これは私がやっていることです:
DALのための1つのプロジェクト。ここでは、すべてのDB操作がEFを使用して実行されます。
モデル - ビジネスエンティティクラス。 EFのOrderオブジェクトを返す代わりに、Entity Class of Modelを返します。 (ビジネスエンティティをEFエンティティにマップする方法はありますか?)
UI - これはDALを呼び出し、処理を完了します。
プロジェクト1 - DAL
このプロジェクトはまた、私のEDMXファイルが含まれています。
public class DALRepository
{
OrderEntities orderEntitiesContext = new OrderEntities();
public IQueryable<Model.OrderModel> GetOrders()
{
return orderEntitiesContext.Orders.Select(o => new Model.OrderModel { OrderName = o.OrderName, Id = o.OrderID });
}
}
プロジェクト2 - モデル
public class OrderModel
{
public long Id { get; set; }
public string OrderName { get; set; }
}
プロジェクト3 - UI
public partial class OrderList : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
DAL.DALRepository dal = new DAL.DALRepository();
GridView1.DataSource = dal.GetOrders();
GridView1.DataBind();
}
}
正しいと呼ばれることになります。それはちょうど "EFを知る"プロジェクトだと言われています。私はそれがユニットテストしたいとインターフェイスを公開しない場合、それがもたらすことができるどれだけの痛みを知っています。 :) – Asdfg
はい、あなたは正しい方向に向かっています。 –
小さな質問です。 Entity FrameworkとPOCOオブジェクトと呼ばれるものですか? – Asdfg