• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# Data.SqlQuery类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中Serenity.Data.SqlQuery的典型用法代码示例。如果您正苦于以下问题:C# SqlQuery类的具体用法?C# SqlQuery怎么用?C# SqlQuery使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



SqlQuery类属于Serenity.Data命名空间,在下文中一共展示了SqlQuery类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: FirstIntoRowShouldReturnFirstRowIfMoreThanOneEntityUsed

 public void FirstIntoRowShouldReturnFirstRowIfMoreThanOneEntityUsed()
 {
     var first = new MyEntity() { Table = "x" };
     var second = new MyEntity() { Table = "y" };
     var query = new SqlQuery().From(first).From(second.Table, Alias.T1).Into(second);
     Assert.Equal(first, ((ISqlQueryExtensible)query).FirstIntoRow);
 }
开发者ID:nxtayi,项目名称:Serenity,代码行数:7,代码来源:SqlQueryTests.cs


示例2: DistinctAddsKeyword

        public void DistinctAddsKeyword()
        {
            var query = new SqlQuery()
                .Distinct(true)
                .Select("TestColumn")
                .From("TestTable");

            Assert.Equal(
                TestSqlHelper.Normalize(
                    "SELECT DISTINCT TestColumn FROM TestTable"),
                TestSqlHelper.Normalize(
                    query.ToString()));
        }
开发者ID:nxtayi,项目名称:Serenity,代码行数:13,代码来源:SqlQueryTests.cs


示例3: FromMultipleCallsDoesCrossJoin

        public void FromMultipleCallsDoesCrossJoin()
        {
            var query = new SqlQuery()
                .From("TestTable1")
                .From("TestTable2")
                .Select("TestColumn");

            Assert.Equal(
                TestSqlHelper.Normalize(
                    "SELECT TestColumn FROM TestTable1, TestTable2"),
                TestSqlHelper.Normalize(
                    query.ToString()));
        }
开发者ID:nxtayi,项目名称:Serenity,代码行数:13,代码来源:SqlQueryTests.cs


示例4: DistinctCanBeTurnedOff

        public void DistinctCanBeTurnedOff()
        {
            var query = new SqlQuery()
                .Distinct(true)
                .Select("TestColumn")
                .From("TestTable")
                .Distinct(false);

            Assert.Equal(
                TestSqlHelper.Normalize(
                    "SELECT TestColumn FROM TestTable"),
                TestSqlHelper.Normalize(
                    query.ToString()));
        }
开发者ID:nxtayi,项目名称:Serenity,代码行数:14,代码来源:SqlQueryTests.cs


示例5: FromMixedOverloadsMultipleCallsDoesCrossJoin

        public void FromMixedOverloadsMultipleCallsDoesCrossJoin()
        {
            var query = new SqlQuery()
                .From("TestTable1", new Alias("x1"))
                .From(new Alias("TestTable2", "x2"))
                .From("TestTable3")
                .Select("TestColumn");

            Assert.Equal(
                TestSqlHelper.Normalize(
                    "SELECT TestColumn FROM TestTable1 x1, TestTable2 x2, TestTable3"),
                TestSqlHelper.Normalize(
                    query.ToString()));
        }
开发者ID:nxtayi,项目名称:Serenity,代码行数:14,代码来源:SqlQueryTests.cs


示例6: OnPrepareQuery

        public override void OnPrepareQuery(ISaveRequestHandler handler, SqlQuery query)
        {
            base.OnPrepareQuery(handler, query);

            if (this.replaceFields != null)
            {
                foreach (var field in replaceFields.Values)
                {
                    if (!field.IsTableField() &&
                        (!(query is ISqlQueryExtensible) ||
                          ((ISqlQueryExtensible)query).GetSelectIntoIndex(field) <= 0))
                        query.Select(field);
                }
            }
        }
开发者ID:volkanceylan,项目名称:Serenity,代码行数:15,代码来源:MultipleImageUploadBehavior.cs


示例7: DoesAutomaticJoinProperlyWithAliasedFields

        public void DoesAutomaticJoinProperlyWithAliasedFields()
        {
            var x = RowMappingTests.ComplexRow.Fields.As("x");

            var query = new SqlQuery()
                    .From(x)
                    .Select(x.CountryName);

            Assert.Equal(
                TestSqlHelper.Normalize(
                    "SELECT x_c.Name AS [CountryName] FROM ComplexTable x " +
                    "LEFT JOIN TheCountryTable x_c ON (x_c.TheCountryID = x.CountryID)"),
                TestSqlHelper.Normalize(
                    query.ToString()));
        }
开发者ID:CodeFork,项目名称:Serenity,代码行数:15,代码来源:SqlQueryAutoJoinTests.cs


示例8: Clone

        /// <summary>
        /// Creates a clone of the query.
        /// </summary>
        /// <returns>A cloned query.</returns>
        /// <remarks>
        /// Clones states like TrackAssignments, AssignedFields etc,
        /// creates a copy of Params dictionary
        /// </remarks>
        public SqlQuery Clone()
        {
            var clone = new SqlQuery();

            clone.dialect = dialect;
            clone.dialectOverridden = dialectOverridden;
            clone.skip = skip;
            clone.take = take;
            clone.countRecords = countRecords;

            clone.into = new List<object>(into);
            clone.intoIndex = intoIndex;

            Column s;
            for (int i = 0; i < columns.Count; i++)
            {
                s = columns[i];
                var si = new Column(s.Expression, s.ColumnName, s.IntoRowIndex, s.IntoField);
                clone.columns.Add(si);
            }

            clone.from = new StringBuilder(from.ToString());
            if (where != null)
                clone.where = new StringBuilder(where.ToString());

            if (orderBy != null)
            {
                clone.orderBy = new List<string>();
                clone.orderBy.AddRange(orderBy);
            }

            if (groupBy != null)
                clone.groupBy = new StringBuilder(groupBy.ToString());

            if (having != null)
                clone.having = new StringBuilder(having.ToString());

            if (parent != null)
                clone.parent = this.parent;
            else if (this.Params != null)
                foreach (var pair in this.Params)
                    clone.AddParam(pair.Key, pair.Value);

            return clone;
        }
开发者ID:volkanceylan,项目名称:Serenity,代码行数:53,代码来源:SqlQuery_Clone.cs


示例9: DoesAutomaticJoinProperlyWithAliasedAndJoinedFieldsAndSelect

        public void DoesAutomaticJoinProperlyWithAliasedAndJoinedFieldsAndSelect()
        {
            var x = RowMappingTests.ComplexRow.Fields.As("x");
            var y = RowMappingTests.ComplexRow.Fields.As("y");

            var query = new SqlQuery()
                    .From(x)
                    .LeftJoin(y, y.ID == x.ID)
                    .Select(x.CountryName, "CountryNameX")
                    .Select(y.CountryName, "CountryNameY");

            Assert.Equal(
                TestSqlHelper.Normalize(
                    "SELECT " +
                        "x_c.Name AS [CountryNameX], " +
                        "y_c.Name AS [CountryNameY] " +
                    "FROM ComplexTable x " +
                    "LEFT JOIN ComplexTable y ON (y.ComplexID = x.ComplexID) " +
                    "LEFT JOIN TheCountryTable x_c ON (x_c.TheCountryID = x.CountryID) " +
                    "LEFT JOIN TheCountryTable y_c ON (y_c.TheCountryID = y.CountryID)"),
                TestSqlHelper.Normalize(
                    query.ToString()));
        }
开发者ID:CodeFork,项目名称:Serenity,代码行数:23,代码来源:SqlQueryAutoJoinTests.cs


示例10: DoesAutomaticJoinProperlyWithViewRowIfAllNamesAreSelectedInJoinOrder

        public void DoesAutomaticJoinProperlyWithViewRowIfAllNamesAreSelectedInJoinOrder()
        {
            var fld = ViewRow.Fields;

            var query = new SqlQuery()
                    .From(fld)
                    .Select(fld.District)
                    .Select(fld.City)
                    .Select(fld.Country);

            Assert.Equal(
                TestSqlHelper.Normalize(
                    "SELECT " +
                        "d.Name AS [District], " +
                        "c.Name AS [City], " +
                        "o.Name AS [Country] " +
                    "FROM ViewTable T0 " +
                    "LEFT JOIN Districts d ON (d.DistrictID = T0.DistrictID) " +
                    "LEFT JOIN Cities c ON (c.CityID = d.CityID) " +
                    "LEFT JOIN Countries o ON (o.CountryID = c.CountryID) "),
                TestSqlHelper.Normalize(
                    query.ToString()));
        }
开发者ID:CodeFork,项目名称:Serenity,代码行数:23,代码来源:SqlQueryAutoJoinTests.cs


示例11: TxtYukle

        public SaveResponse TxtYukle(IUnitOfWork uow, SaveRequest<MyRow> request)
        {
            if (request.Entity == null)
                throw new Exception("Entity null olamaz! ");

            if (request.Entity.KurumId == null)
                throw new Exception("KurumId null olamaz! ");

            if (request.Entity.OptikFormId == null)
                throw new Exception("OptikFormId null olamaz! ");

            if (request.Entity.SinavId == null)
                throw new Exception("SinavId null olamaz! ");

            if (request.Entity.Txt.IsEmptyOrNull())
                throw new Exception("Dosya null olamaz! ");

            var kurum = new KurumRepository().Retrieve(uow.Connection, new RetrieveRequest() { EntityId = request.Entity.KurumId }).Entity;
            var optikFormBayi = new OptikFormRepository().Retrieve(uow.Connection, new RetrieveRequest() { EntityId = request.Entity.OptikFormId }).Entity;
            var sinav = new SinavRepository().Retrieve(uow.Connection, new RetrieveRequest() { EntityId = request.Entity.SinavId }).Entity;
            var optikFormSinav = new OptikFormRepository().Retrieve(uow.Connection, new RetrieveRequest() { EntityId = request.Entity.OptikFormId }).Entity;
            var bayi = new BayiRepository().Retrieve(uow.Connection, new RetrieveRequest() { EntityId = 2 }).Entity;

            if (kurum == null)
                throw new Exception("Entity null olamaz! ");

            ////zaten retrieve çağrısında kayıt gelmez ise kendisi otomatik olarak hata dönüyor.
            if (optikFormSinav == null || optikFormBayi == null)
                throw new Exception("optikForm null olamaz! ");

            if (sinav == null)
                throw new Exception("sinav null olamaz! ");

            if (bayi == null)
                throw new Exception("Bayi null olamaz! ");

            bool optikFormDegistiMi = optikFormBayi.Id != optikFormSinav.Id;
            //var dd = KurumRow.Fields.IlceAd.PropertyName;
            //var flds = OptikFormAlanRow.Fields;

            //var optikFormAlanlari = new OptikFormAlanRepository()
            //    .List(uow.Connection, new ListRequest() { Criteria = new Criteria(OptikFormAlanRow.Fields.FormKodu.PropertyName.ToString()) == optikFormBayi.FormKodu.Value, Sort = new List<SortBy> { new SortBy { Field = OptikFormAlanRow.Fields.Baslangic.PropertyName, Descending = false } }.ToArray() })
            //    .Entities;

            //var fldOptikFormAlan = OptikFormAlanRow.Fields;
            //var qq = new SqlQuery().From(OptikFormAlanRow.Fields.TableName)
            //       .Select(fldOptikFormAlan.AlanAdi)
            //       .Select(fldOptikFormAlan.Baslangic.PropertyName + " as  old" + fldOptikFormAlan.Baslangic.PropertyName)
            //       .Select(fldOptikFormAlan.Uzunluk.PropertyName + " as  old" + fldOptikFormAlan.Uzunluk.PropertyName)
            //       .Select(fldOptikFormAlan.Baslangic.PropertyName + " as  new" + fldOptikFormAlan.Baslangic.PropertyName)
            //       .Select(fldOptikFormAlan.Uzunluk.PropertyName + " as  new" + fldOptikFormAlan.Uzunluk.PropertyName)
            //       .Join(new LeftJoin(fldOptikFormAlan.TableName, "T1", new Criteria(fldOptikFormAlan.FormKodu) == 100 & new Criteria(fldOptikFormAlan.FormKodu) == 2001))
            //       ;
            //var dd = qq.ToString();

            /*
             new Criteria(fldOptikFormAlan.FormKodu) == 2001
             sonuç olarak T0.FormKodu = 2001 sonucu çıkıyor
             *
             * coalesce kullanımı == Select(Sql.Coalesce(new string[2] { s.AlanAdi.Expression, b.AlanAdi.Expression }))
            */

            var s = OptikFormAlanRow.Fields.As("s");
            var b = OptikFormAlanRow.Fields.As("b");
            var sss = new SqlQuery()
                .From(s)
                .InnerJoin(b, new Criteria(s.FormKodu) == optikFormSinav.FormKodu.Value & new Criteria(b.FormKodu) == optikFormSinav.FormKodu.Value & new Criteria(s.AlanAdi) == new Criteria(b.AlanAdi))
                .Select(s.AlanAdi)
                .Select(s.Baslangic, "BaslangicS")
                .Select(s.Uzunluk, "UzunlukS")
                .Select(b.Baslangic, "BaslangicB")
                .Select(b.Uzunluk, "UzunlukB")
                .OrderBy(s.Baslangic);

            List<OptikFormEslestirmeView> optikFormAlanlari = new List<OptikFormEslestirmeView>();

            using (IDataReader reader = SqlHelper.ExecuteReader(uow.Connection, sss))
            {
                while (reader.Read())
                {
                    OptikFormEslestirmeView tRow = new OptikFormEslestirmeView();
                    tRow.AlanAdi = reader.AsString(0);
                    tRow.SinavBaslangic = reader.AsInt32(1);
                    tRow.SinavUzunluk = reader.AsInt32(2);
                    tRow.BayiBaslangic = reader.AsInt32(3);
                    tRow.BayiUzunluk= reader.AsInt32(4);

                    optikFormAlanlari.Add(tRow);
                }
            }

            //        .Where(filter)
            //       .GetFirst(connection))
            //{
            //    return row;
            //}

            int offset = 395;
            int length = 20;
            var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"App_Data\upload\" + request.Entity.Txt.Replace("/", "\\"));
//.........这里部分代码省略.........
开发者ID:cengkaplan33,项目名称:CoPro,代码行数:101,代码来源:SinavTxtEndpoint.cs


示例12: WithPassesAndReturnsTheQueryItself

        public void WithPassesAndReturnsTheQueryItself()
        {
            var query = new SqlQuery();
            var afterWith = query.With(insideWidth =>
            {
                Assert.Equal(query, insideWidth);
            });

            Assert.Equal(query, afterWith);
        }
开发者ID:nxtayi,项目名称:Serenity,代码行数:10,代码来源:SqlQueryTests.cs


示例13: WhereDoesAndWhenCalledMoreThanOnce

 public void WhereDoesAndWhenCalledMoreThanOnce()
 {
     var query = new SqlQuery().From("t").Select("c").Where("x > 5").Where("y < 4");
     Assert.Equal(
         TestSqlHelper.Normalize(
             "SELECT c FROM t WHERE x > 5 AND y < 4"),
         TestSqlHelper.Normalize(
             query.ToString())
     );
 }
开发者ID:nxtayi,项目名称:Serenity,代码行数:10,代码来源:SqlQueryTests.cs


示例14: TakeUsesCorrectSyntaxForSqliteDialect

        public void TakeUsesCorrectSyntaxForSqliteDialect()
        {
            var query = new SqlQuery()
                .Dialect(SqliteDialect.Instance)
                .Select("c")
                .From("t")
                .Take(10);

            Assert.Equal(
                TestSqlHelper.Normalize(
                    "SELECT c FROM t LIMIT 10"),
                TestSqlHelper.Normalize(
                    query.ToString()));
        }
开发者ID:nxtayi,项目名称:Serenity,代码行数:14,代码来源:SqlQueryTests.cs


示例15: SubQueryShouldBeEnclosedInParen

        public void SubQueryShouldBeEnclosedInParen()
        {
            var sub = new SqlQuery().SubQuery()
                .Select("TestColumn")
                .From("TestTable");

            Assert.Equal(
                TestSqlHelper.Normalize(
                    "(SELECT TestColumn FROM TestTable)"),
                TestSqlHelper.Normalize(
                    sub.ToString()));
        }
开发者ID:nxtayi,项目名称:Serenity,代码行数:12,代码来源:SqlQueryTests.cs


示例16: SubQuerySharesParameters

        public void SubQuerySharesParameters()
        {
            var query = new SqlQuery();
            Assert.Equal(0, query.ParamCount);

            var sub = query.SubQuery();
            sub.AddParam("@px1", "value");
            Assert.Equal(1, query.ParamCount);
            Assert.Equal((string)query.Params["@px1"], "value");
        }
开发者ID:nxtayi,项目名称:Serenity,代码行数:10,代码来源:SqlQueryTests.cs


示例17: SubQueryCanBeUsedAsCriteriaUsingWith

        public void SubQueryCanBeUsedAsCriteriaUsingWith()
        {
            var query = new SqlQuery()
                .From("ParentTable")
                .Select("ParentColumn")
                .With(me => me.Where(new Criteria(me.SubQuery()
                    .From("SubTable")
                    .Take(1)
                    .Select("SubColumn")) >= 1));

            Assert.Equal(
                TestSqlHelper.Normalize(
                    "SELECT ParentColumn FROM ParentTable WHERE " +
                        "((SELECT TOP 1 SubColumn FROM SubTable) >= @p1)"),
                TestSqlHelper.Normalize(
                    query.ToString()));
        }
开发者ID:nxtayi,项目名称:Serenity,代码行数:17,代码来源:SqlQueryTests.cs


示例18: OnPrepareQuery

 public virtual void OnPrepareQuery(IDeleteRequestHandler handler, SqlQuery query)
 {
 }
开发者ID:CodeFork,项目名称:Serenity,代码行数:3,代码来源:BaseDeleteBehavior.cs


示例19: ReorderWithNoSpecificItemSetsValuesProperly

        public void ReorderWithNoSpecificItemSetsValuesProperly()
        {
            using (var dbContext = NewDbTestContext())
            using (var connection = SqlConnections.NewByKey("Serenity"))
            {
                foreach (var data in new[] { /* input in id order, expected output in same order */
                    new Tuple<int[], int[]>(new[] { 0, 0, 0, 0, 0 }, new[] { 1, 2, 3, 4, 5 }),
                    new Tuple<int[], int[]>(new[] { 1, 5, 3, 0, 4 }, new[] { 2, 5, 3, 1, 4 }),
                    new Tuple<int[], int[]>(new[] { 1, 2, 2, 9, 0 }, new[] { 2, 3, 4, 5, 1 }),
                    new Tuple<int[], int[]>(new[] { 0, 0, 3, 1, 4 }, new[] { 1, 2, 4, 3, 5 })
                })
                {
                    new SqlDelete(DisplayOrderRow.TableName)
                        .Execute(connection, ExpectedRows.Ignore);

                    for (var i = 0; i < data.Item1.Length; i++)
                    {
                        new SqlInsert(DisplayOrderRow.TableName)
                            .Set(fld.GroupID, 1)
                            .Set(fld.IsActive, 1)
                            .Set(fld.DisplayOrder, data.Item1[i])
                            .Execute(connection);
                    }

                    DisplayOrderHelper.ReorderValues(connection, DisplayOrderRow.Instance);

                    var row = new DisplayOrderRow();
                    var actual = new SqlQuery().From(row).Select(fld.DisplayOrder).OrderBy(fld.ID)
                        .List(connection, row).Select(x => x.DisplayOrder.Value).ToArray();

                    Assert.Equal(data.Item2, actual);
                }
            }
        }
开发者ID:CodeFork,项目名称:Serenity,代码行数:34,代码来源:DisplayOrderTests.cs


示例20: OnPrepareQuery

 public void OnPrepareQuery(IListRequestHandler handler, SqlQuery query)
 {
     var user = (UserDefinition)Authorization.UserDefinition;
     if (!Authorization.HasPermission(PermissionKeys.Tenants))
         query.Where(fldTenantId == user.TenantId);
 }
开发者ID:dalowery70,项目名称:Serenity-Tutorials,代码行数:6,代码来源:MultiTenantBehavior.cs



注:本文中的Serenity.Data.SqlQuery类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Serilog.LoggerConfiguration类代码示例发布时间:2022-05-26
下一篇:
C# Core.TfsChangesetInfo类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap