实体框架SQL语句
本文关键字:语句 SQL 框架 实体 | 更新日期: 2023-09-27 18:27:57
我想从名为StiriDB
的数据库中查询表News
。在那里,我要取Description
字段中的所有条目,即SearchTxt
中的单词Stored
。我不太明白SqlQuery
方法想从我这里得到什么。。。这是代码:
public IQueryable<News> GetProducts()
{
var _db = new SiteStiri.Models.NewsContext();
String SearchTxt = Convert.ToString(Request.QueryString["Cauta"]);
String queryTxt = "Select * from StiriDB.News where Description like '%" + SearchTxt + "%'";
IQueryable<News> query = _db.News.SqlQuery<News>(queryTxt);
if ("DesDate".Equals(DropDownSelect.SelectedItem.Value))
{
query = query.OrderByDescending(u => u.ReleaseDate);
}
if ("AsDate".Equals(DropDownSelect.SelectedItem.Value))
{
query = query.OrderBy(u => u.ReleaseDate);
}
if ("AsAlp".Equals(DropDownSelect.SelectedItem.Value))
{
query = query.OrderBy(u => u.NewsTitle);
}
if ("DesApl".Equals(DropDownSelect.SelectedItem.Value))
{
query = query.OrderByDescending(u => u.NewsTitle);
}
return query;
}
其他详细信息:GetProducts
由ListView调用。CCD_ 8与CCD_ 10的CCD_。许多if用于根据某些标准按升序和降序对数据进行排序(if有效,我只需要SqlQuery
即可按预期工作);
使用Linq到实体查询,类似于。。。
public IQueryable<News> GetProducts()
{
var ctx = new SiteStiri.Models.NewsContext();
var query = from n in ctx.News
where n.Description.Contains(SearchTxt)
select n;
if ("DesDate".Equals(DropDownSelect.SelectedItem.Value))
{
query = query.OrderByDescending(u => u.ReleaseDate);
}
else if ("AsDate".Equals(DropDownSelect.SelectedItem.Value))
{
query = query.OrderBy(u => u.ReleaseDate);
}
else if ("AsAlp".Equals(DropDownSelect.SelectedItem.Value))
{
query = query.OrderBy(u => u.NewsTitle);
}
else if ("DesApl".Equals(DropDownSelect.SelectedItem.Value))
{
query = query.OrderByDescending(u => u.NewsTitle);
}
return query;
}