我最近將項目從4.0升級到.NET Framework 4.5。完成此MSDN Migration Guide中提到的所有任務後,我在模型中添加了一些用於支持Oracle數據庫的更改。在發佈模式下避免[NotMapped]屬性的實體框架
的模型如下所示:
namespace KYC_v4.Models
{
[Serializable]
public class Organization
{
public int OrganizationID { get; set; }
[Required]
[Display(Name = "OrganizationName", ResourceType = typeof(Resources.Home))]
[MaxLength(200)]
public string OrganizationName { get; set; }
public virtual List<UserGroup> Groups{get;set;}
public OrganizationDetails Details { get; set; }
public int UserID { get; set; }
[NotMapped]
[MaxLength(100)]
public string membersCount { get; set; }
[NotMapped]
public List<CheckOrgPermissionViewModel> CheckPermission { get; set; }
}
}
public class CheckOrgPermissionViewModel {
public string Permissiontype { get; set; }
public bool isTrue { get; set; }
}
它運行正常,當我從Visual Studio調試,但是當我嘗試它託管在IIS服務器上,我得到這個錯誤:
我迄今爲止嘗試:
從對方的回答是關於類似的問題,我試圖在上面的文件中刪除參考
System.ComponentModel.DataAnnotations;
- 沒有工作試圖從路徑
C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.ComponentModel.DataAnnotations\v4.0_4.0.0.0__31bf3856ad364e35\System.ComponentModel.DataAnnotations.dll**
複製
.dll
文件到bin
目錄應用 的
更新了已安裝的NuGet包裝
using Update-Package -reinstall -Project "Kyc v4"
以上都不適用於我,如果您想知道 - 我的DbContext
錯誤中提到的模型沒有DbSet
,所以我的猜測是[NotMapped]
屬性被實體框架(6.1.3
)忽略了一些原因。我的System.ComponentModel.DataAnnotations
參考中的版本爲4.0.0.0
,運行時間爲v4.0.30319
任何幫助表示讚賞。謝謝
使用視圖模型(和你的視圖模型應該在一個單獨的文件夾 - 說'ViewModels',所以他們不與EF相關聯) –
如果我這樣做,我可以使用它與常規的莫代爾使用[NotMapped]沒有任何問題?另外,如果是這種情況,爲什麼我能夠在沒有任何問題的情況下運行項目?在iisexpress中調試 – insomniac
停止在視圖中使用'[NotMapped]'和數據模型並使用視圖模型。視圖模型不包含屬於數據模型的屬性。 –