我有這個架構:WPF MVVM實體框架分層
------(WPF應用程序)(XAML,的ViewModels)(商務誰知邏輯,但不DAL)
------ (類庫)(業務邏輯)(DAL誰知)
------(類庫)(DAL - 實體框架(型號第一))(沒有引用任何人)
這裏我的問題是我的DAL不知道任何業務邏輯類 ,所以在我的DAL中,如果我ge返回IEnumerable t例如一個人的名單。 例如: -
public static IEnumerable GetPersons()
{
using(StaffEntities context = new StaffEntities())
{
return context.Persons.ToList();
}
}
所以當我從業務邏輯層得到的結果我有 一類對應的每個實體Person實體在DAL說,我clsPerson在業務邏輯層。 但我的視圖模型不知道DAL其只知道業務邏輯類的,因此clsPerson所以我在我的業務邏輯代碼變得
如:
public static IEnumerable GetclsPersons()
{ return DAL.GetPersons(); }
我的大問題是,每次我拿到名單東西的,保存或刪除東西 我在我的視圖模型使用反射
,所以如果我有一個clsPerson屬性綁定到我的XAML:
public IEnumerable clsPersons { get; set; }
public ListCollectionView clsPersonList { get; set; }
clsPersons = BLL.GetclsPersons();
clsPersonList = new ListCollectionView((IList)clsPersons);
public clsPerson CurrentclsPerson { get; set; }
每次我將值分配給「CurrentclsPerson」我必須使用反射
CurrentclsPerson.Firstname = clsPersonList.CurrentItem.GetType().GetProperty("Firstname")
.GetValue(clsPersonList.CurrentItem,null).ToString();
我希望不要在我的ViewModels 我在考慮把我的業務邏輯和DAL在一個類庫,這樣的使用反射我不 必須使用IEnumerable
你們使用什麼?
有沒有辦法避免這種情況?
反正有這個嗎?
請幫助..謝謝。
嗨DonAndre!感謝您的建議.. – user938866
我在我的XAML中使用綁定,我有一個MVVM框架。你是說即時通訊將把我的業務邏輯類和DAL類放在一個類庫中?是的,我確實想過使用automapper,但沒有通過它以某種方式推動..你是否首先使用代碼? – user938866