可以将[BsonAttribute]添加到POCO吗?

时间:2017-04-11 12:41:11

标签: asp.net mongodb poco

我有一个应用程序,结构如下:

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。

如果这是正确的解决方案,这不是有点矫枉过正吗?

0 个答案:

没有答案