0

我有一个 SQL Server 表,它具有通用名称,如 Text1、Text2.. 等。该表是这样设计的,因为相同的结构用于不同的项目。

我在 .NET 中有一个具有属性的类。假设 Customer 类有一个名为 FirstName 的属性。

如何在应用程序中只进行一次从 FirstName 到 Text1 的映射(中心位置),以便在创建不同的 DAL 方法时不必记住和硬编码整个应用程序的映射?

比如我想让app知道我什么时候要更新,插入一个FirstName,DAL自动使用Text1。基本上我不必记住哪个属性去哪个列。这个想法是这样开发人员就不会以错误的方式映射属性/列。它总是一致的。

注意:数据库插入、更新和删除只能通过存储过程进行。

4

2 回答 2

0

查看那里的各种 ORM。对于映射遗留数据库,NHibernate是完美的。

于 2009-06-29T21:41:03.190 回答
0

如果你不能使用 NHibernate(我强烈建议你这样做)或者不能使用 LINQ to SQL(也许你的代码库是 .NET 2.0)那么......

您可能想要实现某种形式的工厂模式。在您的工厂对象中,您可能希望返回一个强数据集,然后使用对象到对象映射器在您的数据集和 DTO/视图/实体对象之间进行转换。来自 Los Techies 的 Jimmy 创建了一个很棒的开源对象到对象映射器,您可能会发现它非常有用:AutoMapper

快乐编码。

于 2009-07-07T12:48:53.710 回答