LambdaToSql/Realization/Queryable.cs

(开头部分) 14KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using LambdaToSql.FrameWork;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;
using System.Reflection.Emit;
using System.Text;

namespace LambdaToSql.Realization
{
    internal partial class Queryable<T> : LambdaToSql.Interface.IQueryable<T> where T : class, new()
    {
        #region 参数 构造函数

        internal virtual LambdaToSql.EntityModel.QueryEntity<T> Entity { get; set; }

        public virtual LambdaToSql.EntityModel.DbContext Context { get; set; }

        public virtual LambdaToSql.EntityModel.Result<IList<T>> Debug { get; private set; }

        public Queryable(LambdaToSql.EntityModel.DbContext context)
        {
            this.Context = context;
            //Entity = new LambdaToSql.EntityModel.QueryEntity<T>(this.Context);

            string assemblyName = "LambdaToSql";
            string fullTypeName = string.Format("LambdaToSql.EntityModel.{0}.{1}`1", this.Context.SqlType.ToString(), "QueryEntity");
            Type objType = Assembly.Load(assemblyName).GetType(fullTypeName);
            Type type = objType.MakeGenericType(typeof(T));
            Entity = (LambdaToSql.EntityModel.QueryEntity<T>)Activator.CreateInstance(type, new object[] { this.Context });
        }
        #endregion

        #region Any

        public virtual bool Any()
        {
            var count = this.Count();
            if (count > 0)
            {
                return true;
            }
            return false;
        }

        public virtual bool Any(Expression<Func<T, bool>> expression)
        {
            if (expression != null)
            {
                var count = this.Count();
                if (count > 0)
                {
                    return true;
                }
                return false;
            }
后面还有 377 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。