繁体   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