1
所以我的SQL Server上表中有2個表指定的包含路徑無效。該的EntityType「
dbo.Account
AccountID AccountStatusID ...
1234 1
4321 2
....
dbo.validAccountStatus
AccountStatusID AccountStatus
1 Terminated
2 Active
....
在帳戶索引頁'不具有名稱聲明導航屬性」,我想顯示的狀態,而不是狀態ID,是這樣的:
AccountID AccountStatusID ...
1234 Terminated
4321 Active
....
我不斷收到此錯誤:
System.InvalidOperationException: A specified Include path is not valid. The EntityType 'BAMSQLDBModel.Account' does not declare a navigation property with the name 'validAccountStatus'
我做數據庫第一。
模型
Account.cs
public partial class Account
{
public int AccountID { get; set; }
[Display(Name = "Account Status ID")]
public int AccountStatusID { get; set; }
public virtual validAccountStatus validAccountStatus { get; set; }
}
validAccountStatus.cs
public partial class validAccountStatus
{
[Key]
public int AccountStatusID { get; set; }
[Display(Name = "Account Status")]
public string AccountStatus { get; set; }
public virtual Account Account { get; set; }
}
語境
public partial class BAMSQLDB : DbContext
{
public BAMSQLDB()
: base("name=BAMSQLDB")
{
}
public virtual DbSet<Account> Accounts { get; set; }
public virtual DbSet<validAccountStatus> validAccountStatus { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Account>()
.HasRequired(a => a.validAccountStatus).WithRequiredPrincipal(aS => aS.Account);
}
}
控制器(我使用PagedList.MVC用於尋呼)
public ActionResult Index(int? page)
{
var accounts = from acc in db.Accounts select acc;
accounts = accounts.Include(accSt => accSt.validAccountStatus);
accounts = accounts.OrderBy(acc => acc.AccountName);
int pageSize = 20;
int pageNumber = (page ?? 1);
return View(accounts.ToPagedList(pageNumber, pageSize));
}
仍然收到這個錯誤。我在Account中打開了數據庫圖表和導航屬性字段,並且validAccountStatus仍然是空白的。但是,非常感謝您指出帳戶應該是validAccountStatus中的一個列表。 – PTN
我有2次嘗試:一個。將IndexActtion'var account'更改爲'IQueyable account'。二。創建一個連接表validAccountStatus的Linq。 –