aca*_*dia 5 c# n-tier-architecture
我有三个表,如下所示
Emp
----
empID int
empName
deptID
empDetails
-----------
empDetailsID int
empID int
empDocuments
--------------
docID
empID
docName
docType
Run Code Online (Sandbox Code Playgroud)
我正在创建一个实体类,以便我可以使用n层架构在C#中进行数据库事务等.我开始创建类,如下所示
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace employee
{
class emp
{
private int empID;
private string empName;
private int deptID;
public int EmpID { get; set; }
public string EmpName { get; set; }
public int deptID { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
我的问题是empDetails和empDocuments与empID有关.我如何在我的emp类中拥有它们.
如果你能指导我一个例子,我将不胜感激.
谢谢
包含外键的表通常表示更大实体的详细信息。
和EmpDetails都EmpDocuments代表更大实体的不同细节级别Emp。
由于每个Emp实例可能有许多文档和许多详细信息,因此您的详细信息表应作为类中的列表进行收集emp。
public class emp {
public int Id { get; set; }
public string Name { get; set; }
public int DepartmentId { get; set; }
public IList<empDetail> Details {
get {
return _details;
}
}
private IList<empDetail> _details;
public IList<empDocument> Documents {
get {
return _documents;
}
}
private IList<empDocument> _documents;
}
Run Code Online (Sandbox Code Playgroud)
使用NHibernate,您可以根本不关心数据库关系模型,并让该工具使用类SchemaExportTool图通过 XML 映射文件自动生成数据库关系模式(请点击此链接查看概述)。
NHibernate 有多个插件(如果我们可以这样称呼它们的话),例如Fluent NHibernate (FNH)、Linq to NHibernate。
以下是一些有用的链接,可帮助您熟悉它:
empDetail和empDocument集合非常有用emp。使用 NHibernate 的一些优点:
另外,还有我经常与 NHibernate 结合使用的Microsoft Enterprise Library,或者根据项目,我可能更喜欢仅将 EntLib 与不同的应用程序块一起使用:
我可能会忘记其他一些......
| 归档时间: |
|
| 查看次数: |
1821 次 |
| 最近记录: |