Entity Framework 4.1 - 映射错误的模式

Posted

技术标签:

【中文标题】Entity Framework 4.1 - 映射错误的模式【英文标题】:Entity Framework 4.1 - Mapping bad schema 【发布时间】:2011-06-28 16:42:56 【问题描述】:

因此,由于存在大量遗留代码依赖关系,我现在无法触及格式错误的架构。

假设我有一个表 Test,它有一个声明为 int 类型的 IsValid 列。

我希望 poco 域对象具有 IsValid 作为布尔值的正确意图。在我的存储库中应用查询时,我希望它在查询中正确解析。

.Where(o => o.IsValid == true)

应该解决:

where isvalid = 1

EntityTypeConfiguration 能否以这种方式映射,或者我是否必须创建一个自定义表达式解析器来查找存储库中的特殊情况(我不想这样做)?还是有其他方法(不暴露域对象的多个属性)?

谢谢!

【问题讨论】:

【参考方案1】:

您可以创建一个查询扩展方法来封装此代码:

public static IQueryable<YourEntity> ThatAreValid(this IQueryable<YourEntity> source) 
    return source.Where(x => x.IsValid == 1);


// usage

return entities.ThatAreValid();

【讨论】:

以上是关于Entity Framework 4.1 - 映射错误的模式的主要内容,如果未能解决你的问题,请参考以下文章

Entity Framework 4.1 Fluent API 中的多个类映射到同一个表

Entity Framework 4.1 Code First - 如何将包含实体 ID(外键)的 csv 的字符串映射到相应的实体

通过 Entity Framework 4.1 中的用户定义函数进行热切加载

如何在 Entity Framework Code First 中映射 sum 属性(如 TotalPrice)

Entity Framework 4.1 - 动态预加载

Entity Framework 4.1 两个跟踪查询