2014-09-04 50 views
1

我正在mvc5項目上工作,並將Linq的數據庫連接到實體,但由於某些原因,我不得不刪除.edmx文件,並在另一個文件夾中重新連接我的數據庫。不能隱式轉換類型(linq到實體)

自那時以來,我面臨着一個錯誤:

「不能鍵入‘TicketingDemoProject.Models.User’隱式轉換爲 ‘TicketingDemoProject.User’

我知道這個文件夾不一樣的,但不知道如何reslove這個問題

謝謝您的幫助

代碼:

namespace TicketingDemoProject.Controllers{ 
public class TechnicianController : Controller{ 
private TicketingDBENtities tickets = new TicketingDBEntities(); 
public ActionResult Index(){ 
string username = User.Identity.name; 
User u = tickets.User.Single(user1=>user1.user_name == username) 
int userIdenti = u.User_Id; 
} 
} 

}

+0

顯示代碼.. – 2014-09-04 12:38:54

回答

0

通過改變文件夾,更改了命名空間爲您edmx生成的類。 Visual Studio默認會使用基於當前文件夾名稱的名稱空間。您可以將edmx的命名空間修改爲前一個爲TicketingDemoProject的命名空間。

要更改命名空間:

  • 右鍵單擊EDMX文件轉到屬性
  • 指定自定義工具命名空間(指定新的名字空間TicketingDemoProject。默認情況下,它將是空的,這意味着它將具有基於文件夾名稱的Visual Studio生成的默認名稱空間。

enter image description here

你的代碼是使用以前生成的類,這是在命名空間TicketingDemoProject現在,因爲你改變了文件夾,並在Model產生edmx,與EDMX的類相關聯的命名空間爲TicketingDemoProject.Models,因此錯誤。

要查看Visual Studio中如何管理命名空間看:Understanding Visual Studio's Default Namespaces

+0

哈比卜您好,感謝您的幫助,我actuly理解問題的原因,但我不想把它放回去到同一個文件夾。我想將.edmx文件保存到「模型」文件夾 – 2014-09-04 12:46:01

+0

@HarjinderRandhawa中,只是添加了有關如何更改edmx命名空間的說明。 – Habib 2014-09-04 12:50:05

+0

@HarjinderRandhawa,它對你有用嗎? – Habib 2014-09-04 13:06:43

相關問題