3
我是ASP.NET新手,無法找到我收到的異常的合法響應。我有一個像這樣建立的基本聯絡實體。如何解決「無法設置實體類型的字段/屬性...」
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Web;
namespace admin.Models
{
public class ContactBase
{
[System.ComponentModel.DataAnnotations.Key]
public Guid ContactId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime? BirthDate { get; set; }
[ForeignKey ("ContactId")]
public virtual ICollection<ContactExtensionBase> ContactExtensionBases { get; set; }
[ForeignKey("CustomerAddressId")]
public virtual ICollection<CustomerAddressBase> CustomerAddressBases { get; set; }
[ForeignKey("Datatel_academictermId")]
public virtual ICollection<Datatel_academictermExtensionBase> Datatel_academictermExtensionBases { get; set; }
[ForeignKey("Datatel_decisionplanId")]
public virtual ICollection<Datatel_decisionplanExtensionBase> Datatel_decisionplanExtensionBases { get; set; }
}
}
然後有更多的接觸信息的實體,我已經做了與
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Web;
namespace admin.Models
{
public class ContactExtensionBase
{
[System.ComponentModel.DataAnnotations.Key]
public Guid ContactId { get; set; }
public string Datatel_erpid { get; set; }
public string Datatel_ssn { get; set; }
public Guid datatel_anticipatedentrytermid { get; set; }
public Guid datatel_decisionplanid { get; set; }
public virtual ContactBase ContactBases { get; set; }
}
}
這裏的虛擬連接的是,我使用的顯示同時從信息視圖的實體
@model admin.Models.ContactBase
@{
ViewBag.Title = "Details";
}
<h2>Details</h2>
<fieldset>
<legend>ContactBase</legend>
<div class="display-label">
@Html.DisplayNameFor(model => model.FirstName)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.FirstName)
</div>
<div class="display-label">
@Html.DisplayNameFor(model => model.LastName)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.LastName)
</div>
<div class="display-label">
@Html.DisplayNameFor(model => model.BirthDate)
</div>
<div class="display-field">
@Html.DisplayFor(model => model.BirthDate)
</div>
<div class="display-label">ERPID</div>
<div class="display-field">
@Html.DisplayFor(model => model.ContactExtensionBases)
</div>
</fieldset>
<p>
@Html.ActionLink("Edit", "Edit", new { id=Model.ContactId }) |
@Html.ActionLink("Back to List", "Index")
</p>
這是我的背景
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using admin.Models;
using System.Data.Entity;
using System.Data.Entity.ModelConfiguration.Conventions;
namespace admin.Models
{
public class RecruiterTest_MSCRMContext : DbContext
{
public DbSet<ContactBase> ContactBase { get; set; }
public DbSet<ContactExtensionBase> ContactExtensionBase { get; set; }
public DbSet<CustomerAddressBase> CustomerAddressBase { get; set; }
public DbSet<Datatel_academictermExtensionBase> Datatel_academictermExtensionBase { get; set; }
public DbSet<Datatel_decisionplanExtensionBase> Datatel_decisionplanExtensionBase { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
}
}
每當我試着查看詳情頁面,我得到以下異常:
無法設置實體類型System.Data.Entity.DynamicProxies.ContactBase_97C960FB8ACFC3256638071319F26587D2DD8109C9B58E668A100CFAE56F6E4B字段/屬性ContactExtensionBases。詳情請參閱InnerException。
的InnerException空