110,534
社区成员
发帖
与我相关
我的任务
分享
SELECT
[Extent1].[Id] AS [Id],
[Extent1].[ClassId] AS [ClassId],
[Extent1].[Name] AS [Name],
[Extent1].[Author] AS [Author],
[Extent1].[Introduction] AS [Introduction],
[Extent1].[UpDateName] AS [UpDateName],
[Extent1].[WordTotal] AS [WordTotal],
[Extent1].[Collection] AS [Collection],
[Extent1].[Click] AS [Click],
[Extent1].[Recommend] AS [Recommend],
[Extent1].[State] AS [State],
[Extent1].[BigIMG] AS [BigIMG],
[Extent1].[SmallIMG] AS [SmallIMG]
FROM [dbo].[Book] AS [Extent1]
/// <summary>
/// 实现对EF上下文实例进行管理,保证线程内唯一
/// </summary>
/// <returns></returns>
public static ObjectContext GetCurrentDbContext()
{
//CallContext 是类似于方法调用的线程本地存储区的专用集合对象,并提供对每个逻辑执行线程都唯一的数据槽。 数据槽不在其他逻辑线程上的调用上下文之间共享。 当 CallContext 沿执行代码路径往返传播并且由该路径中的各个对象检查时,可将对象添加到其中。
//当对另一个 AppDomain 中的对象进行远程方法调用时,CallContext 类将生成一个与该远程调用一起传播的 LogicalCallContext 实例。 只有公开 ILogicalThreadAffinative 接口并存储在 CallContext 中的对象被在 LogicalCallContext 中传播到 AppDomain 外部。 不支持此接口的对象不在 LogicalCallContext 实例中与远程方法调用一起传输。
ObjectContext context = (ObjectContext)CallContext.GetData("DbContext");
if (context == null)
{
context = new NovelEntities();
CallContext.SetData("DbContext", context);
}
return context;
}
//book.GetModelOrderBy 方法
public IQueryable<T> GetModelOrderBy(Func<T, int?> OrderByLambda)
{
return _con.CreateObjectSet<T>().OrderBy<T, int?>(OrderByLambda).AsQueryable();
}
book.GetModelOrderBy(p => p.Click).Skip(10).ToList();