如何在单个DTO类中创建多个类?

时间:2010-12-01 09:43:43

标签: asp.net generics

我习惯于制作单独的商业对象和列表<>我的数据库表的类。有时我只有一个基本任务,因为它显示搜索框的年份列表或下拉列表中的某些值。

现在我结束了很多单独的类和List类<>对于这些基本操作。

如何通过使用泛型为一些基本任务创建单个类? 我想为一些方法提供单一课程,如获取当前年份,员工姓名,部门名称/代码,标题等。请举个例子。我使用的是.NET 2.0。


修改 经过一些搜索,我发现我可以通过创建DTO命名空间来完成类似的任务。

我现在不知道如何在我的DTO课程中创建多个课程。假设只返回'年'一级,一个用于'员工姓名/代码',等等单个DTO课程。

1 个答案:

答案 0 :(得分:1)

您可以手动使用DB Table映射类,也可以使用NHibernate,它是一种高级ORM,可以很好地与.Net 2.0一起使用。

基本上,您可以使用简单的xml映射文件将普通的c#类映射到DB表。

示例名为Product的类

public class Product
    {
        public Guid Id { get; set; }
        public string Name { get; set; }
        public string Category { get; set; }
        public bool Discontinued { get; set; }
    }
可以使用以下映射文件将

映射到数据库表。

<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" 
                   assembly="FirstSolution" 
                   namespace="FirstSolution.Domain">

  <class name="Product">
    <id name="Id">
      <generator class="guid" />
    </id>
    <property name="Name" />
    <property name="Category" />
    <property name="Discontinued" />
  </class>

</hibernate-mapping>

这也对.Net Collections有很好的支持。肯定会有一些学习曲线,但生产效益是值得的。

更多例子可以在这里找到。

http://nhforge.org/wikis/howtonh/your-first-nhibernate-based-application.aspx