C# EF代码优先-与“Include”Where子句的映射
在我的例子中,我有一个字段为IsToDelete bit/boolean的表,我们在维护期间删除这些条目。但是对于实际应用,我们不处理这些条目,我们总是使用where条件istodele==false来忽略它们 我们有几个地方可以使用.Includex=>x.myenties之类的东西 我知道有些人提出了类似的问题,例如: 然而,我的问题是关于另一种方法:确实有一些地方不太适合按照中的建议创建临时映射对象 当我们定义EF代码时,首先映射EntityTypeConfiguration。 我们有一些类似于:C# EF代码优先-与“Include”Where子句的映射,c#,entity-framework,ef-code-first,C#,Entity Framework,Ef Code First,在我的例子中,我有一个字段为IsToDelete bit/boolean的表,我们在维护期间删除这些条目。但是对于实际应用,我们不处理这些条目,我们总是使用where条件istodele==false来忽略它们 我们有几个地方可以使用.Includex=>x.myenties之类的东西 我知道有些人提出了类似的问题,例如: 然而,我的问题是关于另一种方法:确实有一些地方不太适合按照中的建议创建临时映射对象 当我们定义EF代码时,首先映射EntityTypeConfiguration。 我们有一
this.Property(t => t.IsToDelete).HasColumnName("IsToDelete");
我正在考虑一个解决方案,更多的是SQL视图,但是没有真正的视图。
我们可以在这个映射文件中执行它,还是以其他方式始终应用这个过滤器
p.S.人为错误,忘记添加不再发生的where条件 可以在实体模型中保护属性设置器。有人这样想:
public class CompanyReference : EntityReference<CompanyReference>
{
#region Public Properties
/// <summary>
/// name
/// </summary>
[StringLength(8)]
[Required]
public string Name
{
get;
protected set;
}
/// <summary>
/// displayname
/// </summary>
[StringLength(45)]
public string DisplayName
{
get;
protected set;
}
#endregion
}
这将如何影响在急切加载期间过滤相关实体?我认为代理类的属性将被创建为只读,这样就好像是对视图的查询看起来您没有得到问题-OP希望在加载时过滤相关实体loaded@SergeyBerezovskiy exactly@Drywoods,您已经写过:我正在考虑一种解决方案,它更多的是SQL视图,但是没有真正的视图。有了这个解决方案,你就有了某种看法,我认为这在目前是不可能的。我认为您将不得不进行“长期”操作,隐藏对象上的相关实体,并公开其过滤版本。