[英]Creating separate projects for entity classes ( POCO classes) and DBContext classes
[英]Separate POCO Object classes and DBContext from Entity Framework 6 Model
我開始使用Entity Framework 6.0.1版本。 我想將生成的DbContext和POCO模板類與模型中的不同類庫分開。 我花了幾個小時解決問題但沒有成功。
如果我創建一個新的類庫,添加EF 6 EntityObject Generator並填充以下模板變量:
SourceCsdlPath = @"..\\..\\DataAccess\\Model.edmx"
,
構建后在錯誤列表中獲取以下錯誤:
錯誤2運行轉換:System.IO.FileNotFoundException:無法找到文件文件名:'C:\\ Source \\ EFsource \\ POCO .... \\ DataAccess \\ SZOSZRDBModel.edmx'
服務器堆棧跟蹤:位於System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md,Object [] args,Object server,Object []&outArgs)的Microsoft.VisualStudio.TextTemplating.VSHost.TextTemplatingService.ResolvePath(String path)在System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)
在[0]處重新拋出異常:位於Microsoft.VisualStudio的System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&msgData,Int32類型)的System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg)。 TextTemplating.ITextTemplatingEngineHost.ResolvePath在Microsoft.VisualStudio.TextTemplating31479401930D2C4820ACF71C66B5389A24A5053726798D9718DB676B3FFA30A3454B3CB1EDE2E1C267D5278B1528860C072E81A0E4647BC23993669604048FCD.GeneratedTextTransformation.ApplyUserSettings(UserSettings userSettings)(字符串路徑)在Microsoft.VisualStudio.TextTemplating31479401930D2C4820ACF71C66B5389A24A5053726798D9718DB676B3FFA30A3454B3CB1EDE2E1C267D5278B1528860C072E81A0E4647BC23993669604048FCD.GeneratedTextTransformation.TransformText()
錯誤消息是明確的,但我不知道,如何設置模型路徑沒有完整的絕對路徑。
我不確定,使用最新版本的實體框架是最好的主意......
絕對路徑不是必需的。 看起來你的相對路徑不正確。 我正在使用EF6.1,我在一個單獨的項目中有POCO類。 這就是我在VS 2013中使用它的方法。
ADO.NET Entity Data Model
。 該項目將包含DB Context
。 DBContext
項目中添加了新的EF6.x DbContext Generator
項。 POCO
對象。 [Project Name]Model.tt
文件從DbContext
項目移動到POCO
項目。 [Project Name]Model.tt
文件。 在第5行,我改變了: const string inputFile = @"SampleModel.edmx";
const string inputFile = @"..\\DbContext\\SampleModel.edmx";
DbContext
項目中向POCO
項目添加了一個引用。 如果您使用的是VS 2013,則可以調試模板以查看相對路徑的解析方式。
.tt
文件中添加斷點。 .tt
文件,然后選擇“Debug T4 Template”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.