我在动态LINQ 的VS2008示例中找到了一个示例,它允许您使用类似sql的字符串(例如,OrderBy("Name, Age DESC"))
用于排序.不幸的是,包含的方法仅适用于IQueryable<T>
;.有没有办法获得此功能IEnumerable<T>
?
我们需要使用LINQ从数据库中获取数据.我们现在需要实施分页.
我想一次我们需要一次获取10
记录,当我们点击Next按钮然后它将10
从db 获取下一条记录.
请指导我代码.谢谢
我有一个从数据库中检索数据并将其添加到列表中的函数.我的列表已准备好并显示数据,但我希望在该列表上进行分页,以便每页显示有限的记录.但不知道如何做到这一点.
这是我的数据层功能的代码.
public List<demodto> executereader(List<demodto> Ldemo,SqlCommand cmdshow, string tablename)
{
SqlConnection cn;
try
{
cn = this.getconnection();
cmdshow.Connection = cn;
cn.Open();
SqlDataReader rd = cmdshow.ExecuteReader();
while (rd.Read())
{
demodto dtoobj1 = new demodto();
dtoobj1.ID = Convert.ToInt32(rd[0].ToString());
dtoobj1.Name = rd[1].ToString();
dtoobj1.PhNo = Convert.ToInt32(rd[2].ToString());
dtoobj1.Address = rd[3].ToString();
dtoobj1.Gender = rd[4].ToString();
dtoobj1.Email = rd[5].ToString();
dtoobj1.Emptype = rd[6].ToString();
Ldemo.Add(dtoobj1);
}
cn.Close();
return Ldemo;
}
catch (Exception ex2)
{
throw new DataException("error....." + ex2.Message);
}
}
Run Code Online (Sandbox Code Playgroud)
这是DTO课程..
public class demodto
{
public Int32 ID{get;set;}
public …
Run Code Online (Sandbox Code Playgroud) 如果我还需要用户可配置的规则,我如何才能最好地实现读写操作的字段级访问权限?我正在使用MSSQL Server 2016和EF 6.
根据该表,我们可能会有以下用例,用于描述某个角色或组可见的字段:
1)公共数据的默认权限组
2)基于实体的权限组
3)基于自定义字段的权限组
要求是,隐藏数据必须与NULL值不同,规则/权限必须是用户可配置的.我还需要对列表进行分页,这需要对可见数据进行正确排序.为此,我需要一种处理数据类型的方法.例如,建设年度为一个非空的日期时间,然而,当该场是不可见的,它需要被设置为像DateTime.MinValue默认值.处理位(布尔值)时,这变得更具挑战性:-)
我目前正在考虑与任何一个表值函数的方法,这似乎是动态地实现对我的情况下,或保存数据,这是我需要保持同步与数据库的全部单独的缓存层更难.
如果我想从MSSQL表中检索20到39或40到59的记录.
由于我正在使用MVC和EF4,如果我只是执行Linq查询和Skip()以及Take()过程来请求分页,那么性能是否相同....或者在GetList()存储过程中执行它是否更好本身?
我有一个ASP.NET 4 GridView控件,它使用这两篇文章中讨论的逻辑:
ASP.NET 4.5 GridView.AllowCustomPaging
属性如何使这更简单?
关于如何使用它的文章的链接将非常受欢迎.
我有以下内容并希望实现分页,但这样做时出现错误。仅当我从列表(或 IEnumerable)创建 IQueryable 时,当我直接对从 LINQ 作为 IQueryable 返回的查询结果执行分页时,我不会收到此错误
System.InvalidOperationException:源 IQueryable 未实现 IDbAsyncEnumerable。只有实现 IDbAsyncEnumerable 的源才能用于实体框架异步操作。有关更多详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=287068
List<WeeklyBilling> wbs = new List<WeeklyBilling>();
foreach (Trucks t in trucks)
{
WeeklyBilling wb = new WeeklyBilling();
wb.Customer = t.Customer;
wbs.Add(wb);
}
var wbitems = await wbs.AsQueryable<WeeklyBilling>()
.OrderBy(input.Sorting)
.PageBy(input)
.ToListAsync();
Run Code Online (Sandbox Code Playgroud) c# ×5
linq ×2
.net-4.5 ×1
asp.net ×1
gridview ×1
ienumerable ×1
iqueryable ×1
linq-to-sql ×1
list ×1
paging ×1
permissions ×1
sql-server ×1
t-sql ×1