我願意將實體框架集成爲我的數據層。將POCO實體轉換爲商業實體
我跟着文章和產生使用本教程POCO實體:http://blogs.msdn.com/b/adonet/archive/2010/01/25/walkthrough-poco-template-for-the-entity-framework.aspx
我有我自己的業務對象。這是我的業務對象Brach:
public class Branch
{
public long BranchId { get; private set; }
public string BranchName { get; set; }
public string BranchCode { get; set; }
public Branch() { }
public void InsertBranch(Guid companyId)
{
using (var ctx = new Entities.Entities())
{
var branch = new T_STF_BRANCH() //This is generated POCO object
{
company_id = companyId,
branch_name = BranchName,
branch_code = BranchCode
};
ctx.T_STF_BRANCH.AddObject(branch);
ctx.SaveChanges();
}
}
public static IList<Branch> GetBranchesList(Guid companyId, long? branchId,
string branchName)
{
using (var ctx = new Entities.Entities())
{
var branchs = ctx.T_STF_BRANCH.Where(x =>
x.is_deleted == false &&
(branchId == null || x.branch_id == branchId) &&
(branchName == null || x.branch_name.Contains(branchName))).ToList();
}
//HERE I NEED SOMEHOW CONVERT THE POCO ENTITIES INTO MY BUSINESS ENTITIES...
}
}
我不知道如何將POCO實體轉換爲我的業務實體。
我應該從POCO轉換到POCO?
+1我同意。我不認爲有必要將它們分開。當你開始加載關係等時,它也會給你帶來一些嚴重的痛苦,最終你會建立自己的延遲加載等,這是or/m的主要特性之一。 – Brook 2011-04-16 18:22:40
@Ladislav Mrnka:我已經有了自己的商業實體。我的所有應用程序都是用它們寫的。所以我不能使用POCO對象作爲我的業務對象。另一方面,我的業務對象具有繼承性,它們是複雜的對象 - 與POCO不同。我不確定我可以用它們代替POCO。我會真正appriciate一個例子。 – Naor 2011-04-16 22:28:24
@Naor:我編輯了我的答案。這對你來說很重要。您必須顯示具體問題,您不知道如何映射它以獲取樣本。 – 2011-04-16 23:10:36