使用带注释的PCL和IoC开发应用程序

时间:2014-02-05 17:14:48

标签: c# annotations portable-class-library

我正在编写一个使用PCL库和IoC模式的应用程序,以促进iOS,Android等的跨平台开发。我的存储库实现了IRepository模式,我有一个使用SQLite.Net ORM的具体实现。为了充分利用SQLite.Net,我需要用注释装饰我的模型,例如

public class Stock
{
   [PrimaryKey, AutoIncrement]
   public int Id { get; set; }
}

在某个阶段,我可能会决定开发另一个具体的实施例,例如:存储库X。

我的问题是:

这样的注释为我的模型/实体引入了对SQLite的依赖,这实际上只是一个POCO。那么,如何在没有依赖的情况下获得注释?例如,如果我将来使用Repository X并删除了SQLite,我需要删除注释吗?

我想要做的一种方法是定义一个抽象类,我的派生类上有注释。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

你可以看到Sqlite是否有类/属性的任何类型的XML Mapping关联(就像LINQ.Data那样)

或元数据的任何类型的使用。就像MVC在模型上所做的那样:

[MetadataType(typeof(TestMetadata))]
class Test
{
    public int Id { get; set; }
}

class TestMetadata
{
    [DisplayName("ID")]
    public int Id { get; set; }
}