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