簡體   English   中英

導航屬性返回 NULL

[英]Navigation property returns NULL

我正在嘗試為索引視圖中的每個人打印 Person.bank1.Name 但始終為 NULL。 我首先使用代碼。 在數據庫表中一切正常。

上下文是:

public class PersonContext : DbContext
{
    public PersonContext()
        : base("name=PersonContext")
    {
        Configuration.ProxyCreationEnabled = true;
        Configuration.LazyLoadingEnabled = true;
    }

    public virtual DbSet<Bank> banks { get; set; }
    public virtual DbSet<Person> person { get; set; }
}

人物模型

public class Person
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int bank { get; set; }
    public virtual Bank bank1 { get; set;}
}

銀行型號:

public class Bank
{
    public int Id {get;set;}

    public string Name { get; set; }

    public virtual ICollection<Person> person { get; set; }
}

人員控制器索引和創建方法:

public ActionResult Index()
    {
        var person = db.person.Include(c => c.bank1);
        return View(person.ToList());
    }

   // GET: Persons/Create
    public ActionResult Create()
    {
        ViewBag.BankList = new SelectList(db.banks, "id", "name");
        return View();
    }

    // POST: Persons/Create
    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Create([Bind(Include = "Id,Name,bank")] Person person)
    {
        ViewBag.BankList = new SelectList(db.banks, "id", "name");
        if (ModelState.IsValid)
        {
            db.person.Add(person);
            db.SaveChanges();
            return RedirectToAction("Index");
        }

        return View(person);
    }

在 Person 類中將您的銀行 int 屬性聲明為外鍵-

[ForeignKey("Bank1")]
public int bank { get; set; }

這應該可以解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM