我想让 Visual Studio 创建的 T4 模板将我的实体输出为 IDbset 而不是 DbSet 知道怎么做吗?
问问题
359 次
1 回答
2
我假设您已经有一个 t4 模板,可以生成一个DbContext
. 所以只需编辑上下文的 T 模板,它可能命名为Yourmodelname.Context.tt
. 里面有一个这样的块(我使用的是 EF 5):
public string DbSet(EntitySet entitySet)
{
return string.Format(
CultureInfo.InvariantCulture,
"{0} DbSet<{1}> {2} {{ get; set; }}",
Accessibility.ForReadOnlyProperty(entitySet),
_typeMapper.GetTypeName(entitySet.ElementType),
_code.Escape(entitySet));
}
现在更改"{0} DbSet<{1}>
,"{0} IDbSet<{1}>
上下文将具有IDbSets
.
旁注:如果这是模拟上下文的操作的一部分,您应该知道这是非常没有希望的。
于 2013-04-10T19:52:30.970 回答