我首先使用代码构建应用程序并生成数据库。
我不能再修改数据库,所以我不能添加/更改列和表。但是域模型(不确定我是否正确使用了该术语)需要可以从数据库数据中推断出但不明确存在的新属性(属于域的一部分)。
我的数据库存储房屋的销售信息。所以我有两张桌子,Houses 和 Sales。这些表由 相关houseID
。现在我希望房屋有一个名为 的属性LastSaleDate
,但我无法更改基础数据库。
那么,我将如何正确构建这个新属性并将其添加到适当的图层中?这是我的 poco/entities 的样子。只是伪编码...
[我正在尽我所能了解我使用的工具和方法。我的所有假设都可能完全错误,也许我要把它添加到我的 pocos 中。如果是这种情况,请解释这将如何工作]
[Table("HOUSE_TABLE")]
public class house {
//some properties
public int HouseID {get;set;}
}
[Table("SALE_TABLE")
public class sale {
//some properties
public int HouseID {get;set;
public int SaleID {get;set;}
public datetime SaleDate {get;set;}
public virtual House House {get;set;}
}
我几乎觉得这会创建 2 个级别的映射。不过,我不相信我曾经在我在网上看到的任何代码中看到过这样做。
poco -> AutoMapper?? -> entities -> Automapper -> viewModels