如何在LINQ查询中实现分页?实际上,就目前而言,如果能模仿sql TOP函数,我会很满意。但是,我确信对完全分页支持的需求很快就会出现。
var queryResult = from o in objects
where ...
select new
{
A = o.a,
B = o.b
}
???
我使用的是EF4.1,对于性能问题,我只需要从映射到sql server上的视图的DbSet中选择几个字段。
你有什么建议吗?
因此,从Customer中选择字段将返回以下错误。
var result = context.Customers.Select(c => new Customer{ Name = c.Name,Age = c.Age}).ToList();
The entity or complex type 'Customer' cannot be constructed in a LINQ to Entities query.
at System.D
可以在单个查询中混合使用Linq to SQL调用和存储过程吗?
var query = from asset in this.Context.Assets
let status = this.Context.GetAssetAttributeLastStatusHistory(asset.idAsset)
select new { asset, status };
如下所示,其中GetAssetAttributeLastStatusHistory是映射到存储过程的函数导入。
我希望在SQL中而不是在内存中执行此操作。在内存中,我可以为每个资产
大家好,
我在上发布了这个问题(8月18日的帖子是我的),但什么也没得到。
简而言之,使用Telerik的MVC grid进行过滤会导致一个带有消息“DbIsNullExpression的参数必须引用原语或引用类型”的ArgumentException。有趣的是,如果先对IQueryable执行.ToList(),就可以避免这个问题(但回调所有数据并不是一个好的解决方案)。同样使用实体框架和Ajax,不确定这是不是一个问题。下面是堆栈跟踪:
System.ArgumentException was unhandled by user code
Message=The argument to
我一直在到处寻找,似乎解决不了这个问题。我有以下linq to data实体,有时会返回一个空集。但是我似乎不能为空集测试?
IEnumerable<string> xrefLineItems = from xref in db.wysLkupItemCrossRefs
where xref.EndPointCustID == inCustID
select xref.BuyersIte
我有一个实现IComparable的POCO类。
public interface IEntity : IComparable
{
long Id { get; set; }
Func<IEntity, bool> CompareFunction { get; }
}
public abstract class BaseEntity : IEntity
{
public virtual long Id { get; set; }
public Func<IEntity, bool> CompareFunction
{
我的表中有一个varchar(5)列(名为name) (名为codes)。这个SQL查询是我希望通过EF完成的,而无需首先将我的IQueryable转换为IEnumerable (在内存中):
SELECT * FROM codes WHERE name >= 'J0000' AND name <= 'J9999'
我尝试使用执行查询,如下所示:
var results = db.Codes.Where(c=>c.Name.CompareTo("J0000") >=0
&& c.Name.Com
我使用WCF数据服务,并有一个运行良好的LINQ实体查询:
var result =
(from data1 in context.Data
join info in context.Information on data1.inf_ID equals info.ID
select info );
return result.AsQueryable();
如果我使用以下代码:
string[] ids ={"1","2","3"};
var result =
(from data1 in context.Data
我有一个扩展方法IsAssignableFrom
public static bool IsTypeOf<T>(this Type type)
{
return typeof (T).IsAssignableFrom(type);
}
它由以下方式调用:
var Type = typeof(BadgeNumVotesOnItem);
var UnlockableBadges = DB.Badges.Where(t => t.GetType().IsAssignableFrom(Type));
然而,当我使用它时,
我正在使用数据迁移,在我的种子方法中,我试图为一个教育应用程序播种一个类条目。我已经成功地为我的老师对象设定了种子,现在我正在尝试查看我的类对象。我想要匹配教师和班级名称,并根据需要添加或更新。但是,在执行数据库更新时,我收到以下代码行的错误。
context.Classes.AddOrUpdate(c => new { c.Teacher, c.Name },
new Class { Teacher = context.Teachers.Where(t => t.LastName == "Smith").First(), Name = "2nd Gr
我有一个带有odata的asp.net wep项目,但是我在odata机制上遇到了一些问题。
当我执行那个查询时
/api/value?$top=1&$filter=注释/any(c: c/Id 64)
它给了我以下错误
{
"Message": "An error has occurred.",
"ExceptionMessage": "The 'ObjectContent`1' type failed to serialize the response body for content type
我对Linq完全陌生。我需要将分页逻辑从SQL转换为Linq。我在SQL中的分页逻辑是:
where num BETWEEN ((@pageNumber-1)*@pageSize) + 1 and (@pageSize * @pageNumber)
所以,如果pageNumber是2,pageSize是30,那么我的查询将把记录从行31向上拉到行60。
我在LINQ中实现了相同的逻辑,但它错误地提取了记录的no:
query.Skip(pageNumber - 1).Take(pageSize * pageNumber).AsQueryable();
有谁能告诉我LINQ查询中出了什么问题吗?
我有一个正在处理的项目,它有一个Order实体,该实体具有OrderITems的导航属性:
public class Order
{
public int OrderId { get; set; }
public int CustomerId { get; set; }
public virtual ICollection<OrderItem> OrderItems { get; set; }
}
public class OrderItem
{
public int OrderId { get; set; }
public int Product
我有一个查询,看起来像这样:
var q = from x in db.Table1
where x.Timestamp.CompareTo(fromDate) >= 0
&& x.Timestamp.CompareTo(toDate) < 0
select x;
var q_list = q.ToList(); // this works fine
var g = q.Where(z=> z.Table2.Equals(ns));
使用LINQ获得分页结果的最佳模式是什么?
我有以下情况:
假设我想按描述搜索items表。我很容易做到:
public IQueryable<Item> FindItemsByDescription(string description)
{
return from item in _dc.Items
where item.Description.Contains(description);
}
现在,对此结果集进行分页的最佳方法是什么?
是否应该在执行此操作之前执行计数查询,以找出结果集大小,然后根据需要限制该查询?应该执行完整的查询,从数组大小获取计
我搞不懂我为什么会犯这个错误。在实体框架的早期版本中,我已经成功地使用了这个函数,但是我已经使用EF6建立了一个新项目,它没有合作。
using System.Data;
using System.Data.Objects.SqlClient;
e.Result = from n in MyDB.tblBulletins
where n.AnncStart <= DateTime.Now && n.AnncEnd > DateTime.Now && n.Approved == true
orderby n.AnncStart d
我正在尝试将数据发布到WCF REST服务,但我一直收到错误the remote server returned an error:(400) Bad Request。我的代码如下
ServiceContract:
[ServiceContract(Namespace="AppointmentService")]
public interface IAppointmentService
{
[OperationContract]
[WebInvoke(UriTemplate = "/edit", Method = "POST",
我试图将SQL Server 2008数据库中的数据加载到服务器端DTO中,以便将数据传输到客户端,并想知道如何加载父实体和子实体的集合。
您可以从模型中看到,我正在尝试加载所有用户和相关的UserRoles,它们是在tblUsermmRole表上连接的。
当我运行Linq查询时,当加载子实体时,要崩溃,因为查询无法将一个实例加载到集合中。
我可以在一个查询中加载这些实体,还是应该将用户加载到集合中,然后迭代地构建子AccessRoles?
模型
数据传输对象
Public Class User
Public Property ID As Int32
Public