标签: entity-framework-plus

EF 扩展 UpdateFromQuery() 和 EF Plus Update() 之间的区别

库 Entity.Framework.Extensions(付费)有一个进行实体更新的方法:

context.Customers
.Where(c=>c.XXX = "")
.UpdateFromQuery(c=>new Customer{ Timestamp = DateTime.UtcNow })
Run Code Online (Sandbox Code Playgroud)

库 Entity.Framework.Plus(免费)有一个类似的方法来进行实体更新:

context.Customers
.Where(c=>c.XXX = "")
.Update(c=> new Customer{ Timestamp = DateTime.UtcNow })
Run Code Online (Sandbox Code Playgroud)

这两种实现有什么区别?

entity-framework entity-framework-plus entity-framework-extensions

5
推荐指数
1
解决办法
1239
查看次数

如何组合多个 c# Lambda 表达式 (Expression<Func<T, T>>)

我有以下函数,它实际上是 Z.EntityFramework.Plus 批量更新的包装器:

    public static int UpdateBulk<T>(this IQueryable<T> query, Expression<Func<T, T>> updateFactory) where T : IBaseEntity, new()
    {
        Expression<Func<T, T>> modifiedExpression = x => new T() { ModifiedBy = "Test", ModifiedDate = DateTime.Now };
        var combine = Expression.Lambda<Func<T, T>>(
            Expression.AndAlso(
                Expression.Invoke(updateFactory, updateFactory.Parameters),
                Expression.Invoke(modifiedExpression, modifiedExpression.Parameters)
            ),
            updateFactory.Parameters.Concat(modifiedExpression.Parameters)
        );  //This returns an error

        return query.Update(combine);
    }
Run Code Online (Sandbox Code Playgroud)

像这样调用:

        decimal probId = ProbId.ParseDecimal();

        db.Problems
            .Where(e => e.ProbId == probId)
            .UpdateBulk(e => new Problem() {
                CatId = Category.ParseNullableInt(),
                SubCatId = SubCategory.ParseNullableInt(),
                ListId = Problem.ParseNullableInt()
            }); …
Run Code Online (Sandbox Code Playgroud)

c# linq expression entity-framework-plus

5
推荐指数
1
解决办法
4046
查看次数

实体框架扩展的批量操作与 EFE 的批量操作

我正在研究用于批量操作的实体框架扩展,并从同一开发人员那里找到了 EF Plus。现在EFE有批量操作,是付费的,EF PLus有Batch操作,号称只执行批量更新和删除,但都叫批量操作。那么EFE的批量操作和EF加批量操作有什么区别呢?

c# entity-framework-6 entity-framework-plus entity-framework-extensions

4
推荐指数
1
解决办法
3722
查看次数

EF plus 的默认缓存持续时间是多少?

每当我需要从缓存中检索数据时,我都会使用 FromCache() 方法。

我没有设置任何默认缓存策略,并且默认使用任何 EF plus 使用。

默认缓存持续时间是多少?等一下?还是无限?

entity-framework-plus

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

如何将类添加到列表?

如果我有一组像这样的实体(类):

Employee, Department, Room ... etc
Run Code Online (Sandbox Code Playgroud)

如何将这些添加到列表而不是对象列表:

像这样 :

{Employee, Department, Room}
Run Code Online (Sandbox Code Playgroud)

我想得到这些类,因为我有一个带有以下签名的方法:

AuditManager.DefaultConfiguration.Exclude<T>();
Run Code Online (Sandbox Code Playgroud)

那么如何循环一个类列表并将它们传递给这个方法,例如:

AuditManager.DefaultConfiguration.Exclude<Employee>();
Run Code Online (Sandbox Code Playgroud)

c# collections entity-framework list entity-framework-plus

2
推荐指数
1
解决办法
710
查看次数