标签: entity-framework-extended

EntityFramework.Extended Future错误(JIT编译器内部限制)

我与代码第一次的EntityFramework(工作version="6.1.0")和EntityFramework.Extended(版本="6.1.0.96,在从目前的最新版本在这里,
DbContext暴露的DbSets方式一样访问:

var set = ctx.Set<MyEntity>();
Run Code Online (Sandbox Code Playgroud)

今天我决定尝试EntityFramework.Extended库的Future Queries,很快就结束了,不知道如何继续.

以下是示例代码:

using (var ctx = new MyDbContext())
{              
    var u = ctx.Set<User>().Future();
    var c = ctx.Set<Country>().Future();
    var users = u.ToList();
}
Run Code Online (Sandbox Code Playgroud)

关于Future()文档,我应该只向DB Future()提供一个查询,这是该方法提供的.该查询应该启动,u.ToList();但会发生的是我得到这样的错误:

JIT编译器遇到内部限制.

堆栈跟踪潜水告诉我:

在EntityFramework.Future.FutureQueryBase 1.GetResult()

在EntityFramework.Future.FutureQuery 1.GetEnumerator()

在System.Collections.Generic.List 1..ctor(IEnumerable 1 collection)

在System.Linq.Enumerable.ToList [TSource](IEnumerable 1 source)

at App.Program.Main(String [] args)在c:\ Users\...\App\Program.cs:第25行

我真的不知道我错过了什么.我检查了,我ConnectionString已经MultipleResultSets设定TRUE.
我已经使用早期的版本发布测试了这个,EF.Exteneded但发生了同样的错误.

任何想法都会有很大帮助.

.net c# jit entity-framework entity-framework-extended

16
推荐指数
1
解决办法
948
查看次数

如何批量更新实体框架中的记录?

我正在尝试使用Entity Framework批量更新记录.我试过Entity Framework.Extensions Update方法.

Update方法能够使用相同的更新值集批量更新一组记录.

例:

           Id -  Quantity
Record 1 - A  -  10
Record 2 - B  -  20
Record 3 - C  -  30
Run Code Online (Sandbox Code Playgroud)

我们可以通过简单的调用批量更新所有上述记录

Records.Update(new => Record { Quantity = 100 });
Run Code Online (Sandbox Code Playgroud)

如何使用Entityframework.Extensions或以任何其他方法批量更新具有不同数量的每条记录,从而更快地完成批量更新?

c# linq entity-framework entity-framework-extended bulkupdate

16
推荐指数
4
解决办法
3万
查看次数

使用EntityFramework.Extended进行批量更新

我试图使用实体框架扩展使用批量更新,但我不确定如何做到这一点.

到目前为止,我有以下代码:

List<Guid> listIds = new List<Guid>();


listIds = listIds.Union(hem.ProductList.Where(x => x.CustListID == custListID).ToList().Select(y => y.OrderListID)).ToList();
Run Code Online (Sandbox Code Playgroud)

使用上面的查询它返回1000个订单列表.

所以我想要实现的目标:更新上面listIds中OrderListID的custListID

现在我正在尝试使用扩展的实体框架.

using (var db = new DBContextEntities())
{
    var rowUpdates = db.ProductList.Update(x => x.OrderListID in listIds, x => new ProductList { CustListID = custListID});
}
Run Code Online (Sandbox Code Playgroud)

请告诉我如何实现这一目标.

entity-framework-4 c#-4.0 entity-framework-extended

3
推荐指数
1
解决办法
3959
查看次数

我如何必须传递 MemberInitExpression 对象

当我运行此代码时,我在 Update 方法中遇到异常

public void UpdateTeststep(Teststep step)
        {
            _context.Teststeps.Where(t => t.TeststepId == step.TeststepId).Update(t => step);
            _context.SaveChanges();
        }

{"The update expression must be of type MemberInitExpression.\r\nParametername: updateExpression"}
Run Code Online (Sandbox Code Playgroud)

我的 updateExpression 有什么问题?

这是 Update 方法的源代码:

http://www.symbolsource.org/Public/Metadata/NuGet/Project/EntityFramework.Extended/1.0.0.20/Release/.NETFramework,Version%3Dv4.0/EntityFramework.Extended/EntityFramework.Extended/EntityFramework.Extended/Extensions /BatchExtensions.cs?ImageName=EntityFramework.Extended

第 454 行:

var memberInitExpression = updateExpression.Body as MemberInitExpression;
                if (memberInitExpression == null)
                    throw new ArgumentException("The update expression must be of type MemberInitExpression.", "updateExpression");
Run Code Online (Sandbox Code Playgroud)

为什么我传递的值是空的?我是否以错误的方式通过了我的测试步骤?

c# entity-framework func entity-framework-extended

3
推荐指数
1
解决办法
2414
查看次数