存在一个称为LiteDB的好数据库。虽然LiteDB提供流畅的硬编码接口(详细信息:https://github.com/mbdavid/LiteDB/wiki/DbRef),但我觉得不方便的是缺少指定实体间关系类型(值/引用)的属性。我是懒惰的人,不想总是更新这个硬编码关系,以跟随我的数据模型中的变化。所以我决定用DbRef属性(我的自定义属性)来实现数据模型实体的运行时发现。不幸的是,我坚持一点与.NET运行时创建在.Net Runtime中创建表达式<Func<T,K>>
Expression<Func<T,K>>
...提供它在下面的调用(第一个参数):
BsonMapper.Global.Entity<Order>().DbRef(x => x.Customer, "customers");
类型T和K的给定在运行时作为System.Type的实例(例如:T - Order,K - Customer)。
我会很感激,如果你们给我如何实例
Expression<Func<T,K>>
在.NET运行库
,以提供它... DBREF(...)函数一些提示。
我们有属性名称(例如'Customer')? –
是的,我们有属性名称。 – Evgeny
为什么这个问题是downvoted :(这是否太模糊? – Evgeny