我正在寻找一个具有相当不寻常的要求的.Net 3.5 ORM框架:
我可能必须自己编写,因为我认为现有的ORM不符合这些要求。
但是,如果有轮子,我不想重新发明轮子,因此这个问题。
我正在使用VS2010,但我不知道我的webhost(LFC)何时会升级到.Net 4.0
答案 0 :(得分:5)
我不认为一个框架会这样做,但你也不需要重新发明轮子。
对于非动态部分,您可以使用像Entities Framework,NHibernate或Subsonic这样的普通ORM,并为动态部分破解一些类似ruby的迁移框架。
应该很容易,因为这些迁移框架已经将模式修改的所有方法都映射到了几个数据库,只需要编写一些类来公开它们。
编辑: 类似迁移的框架将是这样的: “我需要在运行时使用我的最终用户定义的模式创建和更改表。 (显然,这不会是强类型的;我正在寻找像DataTable那样的东西)“
例如,使用sharp-migrations,您可以编写如下内容:
DataClient.Add
.Table("TableName")
.WithColumns(
Column.AutoIncrement("ID").NotNull().AsPrimaryKey(),
Column.String("NAME"),
Column.Date("DATESTART"),
Column.Int32("SOMENUMBER"),
);
如您所见,它正在使用字符串,因此您可以在运行时创建任何表。
干杯,祝你好运,
AndréCarlucci
答案 1 :(得分:0)
如果您愿意为SqlLite编写提供程序并更新Query类以使用LINQ,则可以查看ObjectDataBlocks