3
我想通过Visual Studio创建的T4模板输出我的实体作为IDbset而不是DbSet任何想法如何?实体框架4.1 T4输出到IDbset
我想通过Visual Studio创建的T4模板输出我的实体作为IDbset而不是DbSet任何想法如何?实体框架4.1 T4输出到IDbset
我假设你已经有一个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} IDbSet<{1}>
"{0} DbSet<{1}>
和上下文将有IDbSets
。
注意:如果这是模拟上下文的操作的一部分,您应该知道这是非常没有希望的。
你在嘲笑背景背后有什么推理是无望的?在这个 – 2013-07-23 18:35:21
@DavidHayes [this](http://stackoverflow.com/a/13352779/861716)上似乎有很大的不同意见。 – 2013-07-23 20:53:36
谢谢,我认为在简单情况下嘲弄上下文有一定的价值,但它的确是有限的。我们目前正在嘲讽背景和审批测试。我怀疑我们会最后得到后者。肯定比单元测试这些东西更难 – 2013-07-24 01:24:04