我有一个应用程序,结构如下:
Application.Domain
Application.Web.Mvc
Application.MongoDb
在Application.Domain
中,我保留了应用程序的所有POCO(域模型)。
public class Product
{
public string Id { get; set; }
public string ProductName { get; set; }
public DateTime CreatedDate { get; set; }
}
现在,因为我使用MongoDb
,我还需要使用一些[BsonAttribute]
,以便自定义序列化过程。
例如:
public class Product
{
[BsonId]
public string Id { get; set; }
public string ProductName { get; set; }
[BsonDateTimeOptions(Kind = DateTimeKind.Local, DateOnly = true)]
public DateTime CreatedDate { get; set; }
}
如果我添加这些属性,我还需要在MongoDB.Bson.Serialization.Attributes
项目中添加对Application.Domain
的引用,我想避免这样做。
我认为正确的方法是在Application.MongoDb
项目中创建映射对象,并始终将它们从POCO映射到MongoObjects,反之亦然,每次使用MongoDb repos。
如果这是正确的解决方案,这不是有点矫枉过正吗?