本週之前我一直沒有使用EF(v5),現在我正在做一些數據庫更改,它正在做一些非常奇怪的事情。實體框架奇怪的行爲
我刪除了一個nvarchar國家字段,取而代之的是與一個外鍵Country表
ALTER TABLE [dbo].[UserProfile] WITH CHECK ADD CONSTRAINT [FK_UserProfile_Countries] FOREIGN KEY([CountryId])
REFERENCES [dbo].[Countries] ([Id])
更新在VS2012模型的ID列的CountryId INT領域做一些真正unexpecting事情。它報告我刪除的字段有錯誤:
錯誤11010:關聯結束'國家'未映射。
我有兩個虛擬域加入到這似乎不正確的模型:
public partial class UserProfile
{
public int UserId { get; set; }
...
public int CountryId { get; set; }
public virtual Country Country { get; set; }
public virtual Country Country1 { get; set; }
}
上
我讀過沒有與設計師的錯誤和手動運行「運行自定義工具」 .tt文件修復了這個問題,但似乎沒有奏效。
有沒有人看過這個或解決了它?
你有現成的數據庫還是數據庫與項目一起發展?如果後者是真的,你應該考慮使用EF Code First而不是依賴.tt的東西:http://weblogs.asp.net/scottgu/archive/2010/07/16/code-first-development-with- entity-framework-4.aspx或http://www.codeguru.com/csharp/article.php/c19233/Introduction-to-Entity-Framework-Code-First.htm –
它隨着項目一起發展。這位設計師看起來非常笨重,越野車,SQLMetal的工作就像是一種魅力!它使我完全不用EF。 感謝您的鏈接,我現在去讀這 – Jammer
是的,我從來沒有喜歡過設計師。 Code First在EF 4中獲得全面支持(我認爲是這樣),這是一種解脫。沒有模型和圖表,只是sweeeeeet代碼:) –