2013-04-22 212 views
1

我正在學習如何使用實體框架網站實體框架遷移的ArgumentException

建立數據庫模型後,我可以很容易地進行Web應用程序和控制檯項目遷移。

但是,當我在一個網站項目中創建一個數據庫模型和執行遷移,控制檯提示我

System.ArgumentException: The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG)) 

Server stack trace: 
    at EnvDTE.Properties.Item(Object index) 
    at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs) 
    at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg) 

Exception rethrown at [0]: 
    at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) 
    at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) 
    at EnvDTE.Properties.Item(Object index) 
    at System.Data.Entity.Migrations.Extensions.ProjectExtensions.GetPropertyValue[T](Project project, String propertyName) 
    at System.Data.Entity.Migrations.MigrationsDomainCommand.GetFacade(String configurationTypeName) 
    at System.Data.Entity.Migrations.EnableMigrationsCommand.FindContextToEnable(String contextTypeName) 
    at System.Data.Entity.Migrations.EnableMigrationsCommand.<>c__DisplayClass2.<.ctor>b__0() 
    at System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action command) 
The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG)) 

我能做些什麼呢? Q2。如果我創建一個Web應用程序項目,我該如何部署它?除FTP之外,我不知道任何其他方式來部署網站。

+1

Q1。你如何運行你的遷移? Q2。看看web部署http://msdn.microsoft.com/en-us/library/dd465337.aspx – Thewads 2013-04-22 09:41:25

+0

我只是鍵入enable-migrations。就這樣。 我不知道我應該爲其他參數 – 2013-04-22 10:30:44

+0

我有這個確切的問題。使用Web應用程序和控制檯應用程序中的「Enable-Migrations」,Entity Framework可以正常工作。但是,當試圖在網站項目中使用它時,我會收到錯誤消息,而且我找不到任何幫助(主要是人們說要將項目名稱傳入命令,但這也不起作用) – Ant 2013-06-04 21:08:40

回答

0

不確定是什麼導致了這個問題,但您可以通過創建一個包含模型和上下文的單獨程序集,然後在該項目上啓用遷移來解決此問題。從您的網站項目中引用該項目。第一季度: