首页 / C# / C#-定制数据库表的定制实体构建器
C#-定制数据库表的定制实体构建器
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#-定制数据库表的定制实体构建器,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1259字,纯文字阅读大概需要2分钟。
内容图文
![C#-定制数据库表的定制实体构建器](/upload/InfoBanner/zyjiaocheng/882/55a655af420c46b398c2357c78ec7f81.jpg)
我正在使用Entity Framework 6设计一个多租户应用程序.此应用程序中的一个关键要求是允许每个租户具有自定义表.这意味着一个名称相同的表在模式之间可能有所不同.
例如,一个租户可能有一个“人”表,其中包含:ID,名字,姓氏,出生日期.
另一个租户可能有一个带有以下内容的“人”表:ID,名字,LastnName,BirthDate,FavoriteColor.
当我设计模型时,这就是我所拥有的:
public class Person
{
public int ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime BirthDate { get; set; }
}
这适用于第一个租户,但是不会加载第二个租户中的custom列.我希望做的是这样的:
public class Person : Dictionary<string, object>
{
public int ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime BirthDate { get; set; }
}
然后编写一个自定义的模型映射器/构建器,它将没有匹配属性的表列放入字典集合.
这有几个问题:
>实体框架创建一个SELECT语句,该语句列出所有
模型中的属性/列.不知何故,我需要更换
用*列出,以便所有列,甚至EF都不知道
关于,得到回报.
>我需要能够拦截结果集,映射已知列
模型属性,然后将未知列放入
字典.
有可能吗?有解决这个问题的更好方法吗?
解决方法:
我遇到了类似的问题,一个更通用的问题.
在我的应用程序中,最终用户能够定义其on数据对象.在设计时,我什至不了解Person类.从设计的角度来看,这意味着向运行时甚至都不知道的类添加属性.
内容总结
以上是互联网集市为您收集整理的C#-定制数据库表的定制实体构建器全部内容,希望文章能够帮你解决C#-定制数据库表的定制实体构建器所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。