我有一个名为"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();