我首先得到了一个 EF 代码,我想将 native sql 用于更复杂的选择语句。
当我尝试执行时:

using (VaultsDbContext db = new VaultsDbContext())
{
   var contracts = db.Contracts.SqlQuery("select * from Contracts").ToList<Contract>();
}

我有:


MetaProps 是一个包含 deleteflag、creator 等的类,它是我所有类的属性。它没有映射到不同的表,每个表都有删除标志、创建者等。
public class Contract
{
    public long Id { get; set; }
    ...
    public MetaProps MetaProps { get; set; }
}

如果类包含复杂类型或 EF 不支持,有没有办法从 native sql 映射到类?如果复杂类型是实体映射到另一个表(连接)怎么办?

编辑:
版本: Entity Framework 6

最佳答案

我从经验中知道并非表中的所有字段都必须包含在模型中。在将更新安装到生产中时,这是一件好事。
您是否尝试过使用 Entity Framework Power 工具对 SEPARATE 临时项目中的表进行逆向工程?这是一个 Nuget 包,我发现它在代码优先编程中非常有用。逆向工程将覆盖现有文件,因此请确保不要在您的实时代码上执行此操作。

关于c# - Entity Framework native sql 映射到类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21557780/

10-11 02:20