asp.net mvc-TableName.RowName在mvc中检索Nothing



我有一个名为"KelimeTuru"的模型类,设计如下:

public partial class KelimeTuru
    {
        public int Id { get; set; }
        public int KelimeId { get; set; }
        public int MenseiId { get; set; }
        public int TurId { get; set; }
        public int AnlamTurleriId { get; set; }
        public int SozlukTuruId { get; set; }
        public Nullable<int> SesId { get; set; }
        public Nullable<int> VideoId { get; set; }
        public Nullable<int> ResimId { get; set; }
        public Nullable<int> SembolId { get; set; }
        public Nullable<int> BirimId { get; set; }
        public Nullable<int> SimgeId { get; set; }
        public string Anlam { get; set; }
        public string Transkript { get; set; }
        public virtual AnlamTurleri AnlamTurleri { get; set; }
        public virtual Birim Birim { get; set; }
        public virtual Kelime Kelime { get; set; }
        public virtual Mensei Mensei { get; set; }
        public virtual Sembol Sembol { get; set; }
        public virtual Ses Ses { get; set; }
        public virtual Simge Simge { get; set; }
        public virtual SozlukTuru SozlukTuru { get; set; }
        public virtual Turler Turler { get; set; }
        public virtual Video Video { get; set; }
        public virtual Resim Resim { get; set; }
    }

如果我们像这样正确地使用记录的Id,它会检索所需的数据:

 public ActionResult Details(int id=0)
        {
            SozlukEntities db = new SozlukEntities();
            KelimeTuru kelime = db.KelimeTuru.Find(id);
            if (kelime == null)
            {
                return HttpNotFound();
            }
            return View(kelime);
        }

我想根据记录的"KelimeId"而不是"Id"来检索记录,所以在我的代码中用"Kelim_Id"替换了单词"Id"。但出现"404.0-未找到"错误。你能帮我用KelimeId检索"KelimeTuru"表吗

试试这个:

KelimeTuru kelime = db.KelimeTuru.SingleOrDefault(x => x.KelimeId == id);

Find方法仅适用于主键属性,这意味着如果您的属性用[Key]属性修饰,那么Find()将能够找到记录,否则它将无法获取记录。

听起来你想要这样的东西:

KelimeTuru kelime = db.KelimeTuru.Where(x => x.KelimeId == id).SingleOrDefault();

相关内容

  • 没有找到相关文章

最新更新