我首先获得了一个代码EF,我想使用本机sql来处理更复杂的select语句.
当我尝试执行时:
当我尝试执行时:
using (VaultsDbContext db = new VaultsDbContext()) { var contracts = db.Contracts.SqlQuery("select * from Contracts").ToList<Contract>(); }
我有:
Cannot create a value for property ‘MetaProps’ of type
‘DskVault.Models.DbModels.MetaProps’. Only properties of primitive or
enumeration types are supported.
MetaProps是一个包含deleteflag,creator等的类,它是我所有类的属性.它没有映射到不同的表,每个表都有deleteflag,createor等.
public class Contract { public long Id { get; set; } ... public MetaProps MetaProps { get; set; } }
有没有办法从本机sql映射到类,如果类包含复杂类型或EF不支持?如果复杂类型是实体映射到另一个表(连接),该怎么办?
编辑:
版本:实体框架6
解决方法
我从经验中知道,并非您的表中的所有字段都必须包含在您的模型中.在将更新安装到生产环境中时,这是一件好事. 您是否尝试使用Entity Framework Power工具在SEPARATE临时项目上对表进行逆向工程?这是一个Nuget包,我发现它在代码优先编程时非常有用.反向工程将覆盖现有文件,因此请确保不要在实时代码上执行此操作.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。