簡體   English   中英

C#; EF 數據庫優先模式

[英]C#; EF database first mode

我在 EF 中使用了數據庫優先模式。 我需要您的幫助,因為我在嘗試運行此代碼時遇到了問題:

private void btnSearch_Click(object sender, EventArgs e)
{
    string SNumber = txtSearchByNum.Text;
   
    var qSearchByTypeText = database.tblNote.SqlQuery("select * From tblNote Where fNumber=@t0", SNumber).ToList();
}

我收到此錯誤:

System.Data.Entity.dll 中發生“System.Data.SqlClient.SqlException”類型的未處理異常

附加信息:必須聲明標量變量“@t0”。

這可能是由於 ٍEntity Framework 版本造成的嗎?

您需要傳遞如下參數:

var qSearchByTypeText = database.tblNote.SqlQuery("select * From tblNote Where fNumber=@t0", new SqlParameter("@t0", SNumber)).ToList();

如果您要求使用 EF6.0“使用”語句來包含創建並返回行列表的 EF/ORM 查詢,我會這樣做:

var qSearchByTypeText = new List<Note>();  //where "Note" is a data structure that looks like a row of columns in "tblNote".

using (var myDbEntity = new [your 'Database First' Entity name]())
{
   //then your query
   qSearchByTypeText = (from n in myDBEntity.tblNotes where n.fNumber == SNumber select n).ToList();

}

暫無
暫無

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

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