我有一個現有的數據庫和現有的域,它最初是使用nHibernate創建和訪問的,現在正在將它移動到實體框架核心。實體框架核心 - 調試映射
我已經開始嘗試訪問域的一個元素(不幸的是與很多其他實體緊密耦合)。這個域名是非常傳統和單一的,不能作爲這個練習的一部分進行修改。
我收到很多錯誤,類似於: 「屬性'DateTimeFormatInfo.AbbreviatedDayNames'無法映射,因爲它的類型'String []'不是受支持的基元類型或有效的實體類型。要麼顯式映射此屬性,要麼使用'[NotMapped]'屬性或'OnModelCreating'中的'EntityTypeBuilder.Ignore'忽略它。「除了.NET類型映射之外,很難嘗試確定映射失敗的位置。是否有工具或輕鬆識別故障部分的方法?
我試過以下內容: - SQL跟蹤,沒有什麼,因爲它在應用程序中失敗。 - 異常只是給出了錯誤,沒有內部異常或更多信息。 - 在整個解決方案中對包含「DateTimeFormatInfo」類型元素的實體進行文本搜索。沒有了。 - 在包含或使用屬性/函數AbbreviatedDayNames的實體的整個解決方案中進行了文本搜索,也沒有任何結果。
因此,我堅持試圖找到究竟哪個實體映射失敗。
此外,我渴望使用EF Fluent API進行任何映射。
好吧所以有兩個問題,如果它與DateTimeFormatInfo.AbbreviatedDayNames無關,爲什麼它在錯誤消息中提到它。該屬性是一個字符串[],但爲什麼給這個名字?其次,是否有任何工具可以清晰地顯示映射和映射驗證問題? – user281921
我不確定你爲什麼只用DayNames獲得這些信息。 我用'String [] SomeArray'測試了實體並得到錯誤: 「屬性'Party.SomeArray'無法映射,因爲它的類型'String []'不是受支持的基本類型或有效的實體類型,要麼顯式映射這個屬性,要麼忽略它。「 所以在我的情況下,'SomeArray'是屬性本身的名稱。 你可能有一些具體的情況。 – borisdj
這就是我想要知道的,AbbreviatedDayNames屬性的確切位置,以及我的哪些實體。就像我說的我有很多,文本搜索沒有找到這個屬性。我意識到錯誤是在映射字符串[],但我很難找到它,因此請求一些工具或更簡單的方法。 – user281921