亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sqlitetest.cs

?? 基于LINQ和.NET 3.5 的數據庫源碼
?? CS
字號:
?using System;
using Lephone.Data;
using Lephone.Data.Common;
using Lephone.Data.Definition;
using Lephone.MockSql.Recorder;
using Lephone.UnitTest.Data.Objects;
using NUnit.Framework;

namespace Lephone.UnitTest.Data.CreateTable
{
    #region objects

    class MyTest1 : IDbObject
    {
        [DbKey]
        public long Id = 0;

        [Index]
        public string Name = null;
    }

    class MyTest2 : IDbObject
    {
        [DbKey]
        public long Id = 0;

        [Index(UNIQUE = true)]
        public string Name = null;
    }

    class MyTest3 : IDbObject
    {
        [DbKey]
        public long Id = 0;

        [Index("Name_Age", ASC = false, UNIQUE = true)]
        public string Name = null;

        [Index("Name_Age")]
        public int Age = 0;
    }

    [DbTable("MyTest")]
    class MyTest8 : IDbObject
    {
        [DbKey(IsDbGenerate = false)]
        public long Id = 0;

        [DbKey(IsDbGenerate = false), Length(50)]
        public string Name = null;

        public int Age = 0;
    }

    public class UnsignedTestTable : IDbObject
    {
        public string Name;
        public uint Age;
    }

    public class GuidMultiKey : IDbObject
    {
        [DbKey(IsDbGenerate = false)]
        public Guid RoleId;
        [DbKey(IsDbGenerate = false)]
        public Guid UserId;
    }

    #endregion

    [TestFixture]
    public class SQLiteTest
    {
        private DbContext de = new DbContext(EntryConfig.GetDriver("SQLite"));

        [SetUp]
        public void SetUp()
        {
            StaticRecorder.ClearMessages();
        }

        [Test]
        public void TestGuidMultiKey()
        {
            de.Create(typeof(GuidMultiKey));
            Assert.AreEqual("CREATE TABLE [Guid_Multi_Key] (\n\t[UserId] uniqueidentifier NOT NULL ,\n\t[RoleId] uniqueidentifier NOT NULL ,\n\tPRIMARY KEY([UserId], [RoleId])\n);\n<Text><30>()", StaticRecorder.LastMessage);
        }

        [Test]
        public void Test1()
        {
            de.Create(typeof(MyTest1));
            Assert.AreEqual("CREATE TABLE [My_Test1] (\n\t[Id] INTEGER PRIMARY KEY AUTOINCREMENT ,\n\t[Name] ntext NOT NULL \n);\nCREATE INDEX [IX_My_Test1_Name] ON [My_Test1] ([Name] ASC);\n<Text><30>()", StaticRecorder.LastMessage);
        }

        [Test]
        public void Test2()
        {
            de.Create(typeof(MyTest2));
            Assert.AreEqual("CREATE TABLE [My_Test2] (\n\t[Id] INTEGER PRIMARY KEY AUTOINCREMENT ,\n\t[Name] ntext NOT NULL \n);\nCREATE UNIQUE INDEX [IX_My_Test2_Name] ON [My_Test2] ([Name] ASC);\n<Text><30>()", StaticRecorder.LastMessage);
        }

        [Test]
        public void Test3()
        {
            de.Create(typeof(MyTest3));
            Assert.AreEqual("CREATE TABLE [My_Test3] (\n\t[Id] INTEGER PRIMARY KEY AUTOINCREMENT ,\n\t[Name] ntext NOT NULL ,\n\t[Age] int NOT NULL \n);\nCREATE UNIQUE INDEX [IX_My_Test3_Name_Age] ON [My_Test3] ([Name] DESC, [Age] ASC);\n<Text><30>()", StaticRecorder.LastMessage);
        }

        [Test]
        public void Test4()
        {
            de.Create(typeof(Person));
            Assert.AreEqual("CREATE TABLE [People] (\n\t[Id] INTEGER PRIMARY KEY AUTOINCREMENT ,\n\t[Name] ntext NOT NULL \n);\n<Text><30>()", StaticRecorder.LastMessage);
        }

        [Test]
        public void Test5()
        {
            de.Create(typeof(Category));
            Assert.AreEqual("CREATE TABLE [Categories] (\n\t[Id] INTEGER PRIMARY KEY AUTOINCREMENT ,\n\t[Name] ntext NOT NULL \n);\n<Text><30>()", StaticRecorder.LastMessage);
        }

        [Test]
        public void Test6()
        {
            de.Create(typeof(PersonalComputer));
            Assert.AreEqual("CREATE TABLE [PCs] (\n\t[Id] INTEGER PRIMARY KEY AUTOINCREMENT ,\n\t[Name] ntext NOT NULL ,\n\t[Person_Id] bigint NOT NULL \n);\n<Text><30>()", StaticRecorder.LastMessage);
        }

        [Test]
        public void Test7()
        {
            de.Create(typeof(Book));
            Assert.AreEqual("CREATE TABLE [Books] (\n\t[Id] INTEGER PRIMARY KEY AUTOINCREMENT ,\n\t[Name] ntext NOT NULL ,\n\t[Category_Id] bigint NOT NULL \n);\n<Text><30>()", StaticRecorder.LastMessage);
        }

        [Test]
        public void Test8()
        {
            de.Create(typeof(MyTest8));
            Assert.AreEqual("CREATE TABLE [MyTest] (\n\t[Name] nvarchar (50) NOT NULL ,\n\t[Id] bigint NOT NULL ,\n\t[Age] int NOT NULL ,\n\tPRIMARY KEY([Name], [Id])\n);\n<Text><30>()", StaticRecorder.LastMessage);
        }

        [Test]
        public void Test9()
        {
            de.Create(typeof(Article));
            Assert.AreEqual(1, StaticRecorder.Messages.Count);
            Assert.AreEqual("CREATE TABLE [Article] (\n\t[Id] INTEGER PRIMARY KEY AUTOINCREMENT ,\n\t[Name] ntext NOT NULL \n);\n<Text><30>()", StaticRecorder.Messages[0]);
        }

        [Test]
        public void Test10()
        {
            de.Create(typeof(Reader));
            Assert.AreEqual(1, StaticRecorder.Messages.Count);
            Assert.AreEqual("CREATE TABLE [Reader] (\n\t[Id] INTEGER PRIMARY KEY AUTOINCREMENT ,\n\t[Name] ntext NOT NULL \n);\n<Text><30>()", StaticRecorder.Messages[0]);
        }

        [Test]
        public void Test11()
        {
            de.Create_ManyToManyMediTable(typeof(Reader), typeof(Article));
            Assert.AreEqual(1, StaticRecorder.Messages.Count);
            Assert.AreEqual("CREATE TABLE [R_Article_Reader] (\n\t[Article_Id] bigint NOT NULL ,\n\t[Reader_Id] bigint NOT NULL \n);\n" +
                "CREATE INDEX [IX_R_Article_Reader_Reader_Id] ON [R_Article_Reader] ([Reader_Id] ASC);\n" +
                "CREATE INDEX [IX_R_Article_Reader_Article_Id] ON [R_Article_Reader] ([Article_Id] ASC);\n<Text><30>()",
                StaticRecorder.Messages[0]);
        }

        [Test]
        public void TestGuidKey()
        {
            de.Create(typeof(GuidKey));
            Assert.AreEqual(1, StaticRecorder.Messages.Count);
            Assert.AreEqual("CREATE TABLE [Guid_Key] (\n\t[Id] uniqueidentifier PRIMARY KEY,\n\t[Name] ntext NOT NULL \n);\n<Text><30>()", StaticRecorder.LastMessage);
        }

        [Test]
        public void TestManyMore()
        {
            de.Create_ManyToManyMediTable(typeof(ManyMore), typeof(ManyMore1));
            Assert.AreEqual("CREATE TABLE [R_ManyMore_ManyMore1] (\n\t[ManyMore_Id] bigint NOT NULL ,\n\t[ManyMore1_Id] bigint NOT NULL \n);\nCREATE INDEX [IX_R_ManyMore_ManyMore1_ManyMore_Id] ON [R_ManyMore_ManyMore1] ([ManyMore_Id] ASC);\nCREATE INDEX [IX_R_ManyMore_ManyMore1_ManyMore1_Id] ON [R_ManyMore_ManyMore1] ([ManyMore1_Id] ASC);\n<Text><30>()", StaticRecorder.LastMessage);

            de.Create_ManyToManyMediTable(typeof(ManyMore), typeof(ManyMore2));
            Assert.AreEqual("CREATE TABLE [R_ManyMore_ManyMore2] (\n\t[ManyMore_Id] bigint NOT NULL ,\n\t[ManyMore2_Id] bigint NOT NULL \n);\nCREATE INDEX [IX_R_ManyMore_ManyMore2_ManyMore_Id] ON [R_ManyMore_ManyMore2] ([ManyMore_Id] ASC);\nCREATE INDEX [IX_R_ManyMore_ManyMore2_ManyMore2_Id] ON [R_ManyMore_ManyMore2] ([ManyMore2_Id] ASC);\n<Text><30>()", StaticRecorder.LastMessage);
        }

        [Test]
        public void TestUnsigned()
        {
            de.Create(typeof(UnsignedTestTable));
            Assert.AreEqual("CREATE TABLE [Unsigned_Test_Table] (\n\t[Name] ntext NOT NULL ,\n\t[Age] int NOT NULL \n);\n<Text><30>()", StaticRecorder.LastMessage);
        }
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美中文字幕制服| 国产成人av一区二区三区在线 | 亚洲日本电影在线| 欧美日韩极品在线观看一区| 加勒比av一区二区| 亚洲国产成人高清精品| 国产欧美一区二区精品忘忧草| 欧美亚洲综合在线| 国产伦精品一区二区三区在线观看| 一区二区三区鲁丝不卡| 国产日韩欧美a| 精品国产乱码久久久久久免费 | 一区二区高清免费观看影视大全| 久久人人97超碰com| 欧美日韩免费在线视频| 成人免费av在线| 蜜臀av一级做a爰片久久| 亚洲精品视频一区| 国产精品美女久久久久av爽李琼| 欧美成人精品二区三区99精品| 91官网在线免费观看| 不卡视频免费播放| 国产一区 二区 三区一级| 日韩专区欧美专区| 亚洲一区二区三区四区在线观看| 国产精品国产三级国产aⅴ原创| 26uuu亚洲综合色| 欧美成人精品福利| 日韩欧美成人一区二区| 欧美美女bb生活片| 欧美视频自拍偷拍| 在线精品视频免费播放| 色成年激情久久综合| 91丨九色丨尤物| 99久久久无码国产精品| 盗摄精品av一区二区三区| 国产一区二区导航在线播放| 国产一区二区三区免费在线观看| 美女www一区二区| 日韩精品午夜视频| 日韩av在线免费观看不卡| 午夜影视日本亚洲欧洲精品| 亚洲国产精品精华液网站| 香蕉加勒比综合久久| 午夜欧美大尺度福利影院在线看| 亚洲国产你懂的| 亚洲不卡在线观看| 天天射综合影视| 天堂va蜜桃一区二区三区 | 中文字幕一区在线观看视频| 国产欧美日韩视频一区二区| 国产精品久久精品日日| 亚洲免费观看高清完整版在线观看熊 | 国产精品卡一卡二| 亚洲人精品一区| 亚洲国产乱码最新视频| 丝袜美腿一区二区三区| 经典三级一区二区| 不卡视频在线观看| 在线免费av一区| 日韩欧美中文字幕精品| 久久久久综合网| 中文字幕免费一区| 亚洲综合色婷婷| 日本欧美加勒比视频| 狠狠色综合播放一区二区| 成人午夜看片网址| 在线一区二区观看| 日韩久久久精品| 国产清纯美女被跳蛋高潮一区二区久久w | 亚洲电影在线免费观看| 麻豆精品视频在线观看免费| 成人性生交大片| 欧美亚日韩国产aⅴ精品中极品| 在线成人高清不卡| 国产亚洲欧美中文| 亚洲一级二级在线| 国产在线精品免费| 色综合久久综合网97色综合| 日韩一级大片在线观看| 国产精品国产三级国产普通话蜜臀| 亚洲国产精品久久久久秋霞影院| 久久超级碰视频| 91极品美女在线| 精品国产精品网麻豆系列| 一区二区三区高清| 激情文学综合网| 欧洲av一区二区嗯嗯嗯啊| 久久伊99综合婷婷久久伊| 一区二区成人在线观看| 国产一区二区三区观看| 91官网在线观看| 日本一区二区视频在线| 日韩高清一级片| 99久久久精品| 国产亚洲一二三区| 午夜视频在线观看一区二区三区| 国产成人精品亚洲777人妖| 91麻豆精品国产91久久久| 国产精品久久久久久亚洲伦| 麻豆成人91精品二区三区| 欧美无砖专区一中文字| 国产精品精品国产色婷婷| 久久99国产精品免费| 欧美丝袜丝交足nylons图片| 中文字幕亚洲区| 激情五月婷婷综合| 欧美一区二区三区免费视频| 亚洲资源在线观看| 国产a级毛片一区| 日韩亚洲欧美一区二区三区| 亚洲国产日韩一级| 色综合久久久久| 欧美国产亚洲另类动漫| 久国产精品韩国三级视频| 欧美在线free| 亚洲精品乱码久久久久久黑人| 国产传媒久久文化传媒| 精品国免费一区二区三区| 日韩av在线播放中文字幕| 欧美年轻男男videosbes| 亚洲黄网站在线观看| 99国产精品久| 中文字幕日韩精品一区| 国产高清不卡二三区| 久久亚洲捆绑美女| 国产精品一区二区久久不卡| 欧美一区永久视频免费观看| 午夜私人影院久久久久| 欧美日韩久久一区| 日韩精品免费视频人成| 欧美三级三级三级爽爽爽| 亚洲最新视频在线播放| 在线观看成人小视频| 亚洲午夜在线电影| 欧洲精品一区二区三区在线观看| 亚洲综合在线第一页| 欧美中文字幕亚洲一区二区va在线 | 在线免费精品视频| 亚洲一区在线观看视频| 欧洲激情一区二区| 视频在线观看一区二区三区| 欧美色欧美亚洲另类二区| 亚洲不卡一区二区三区| 欧美另类一区二区三区| 免费成人深夜小野草| 精品欧美乱码久久久久久| 激情综合网av| 国产区在线观看成人精品| 成人成人成人在线视频| 亚洲色大成网站www久久九九| 91日韩在线专区| 亚洲制服丝袜av| 在线电影一区二区三区| 免费人成在线不卡| 久久久午夜精品| 成人高清视频在线观看| 一区二区三区在线视频观看| 欧美日韩国产美女| 狠狠色狠狠色综合日日91app| 国产亚洲精品福利| 91蜜桃免费观看视频| 亚洲h在线观看| 精品久久国产97色综合| 成人av网站大全| 亚洲五码中文字幕| 日韩午夜在线影院| 粉嫩绯色av一区二区在线观看| 亚洲激情欧美激情| 日韩欧美不卡一区| www.在线成人| 日韩影院精彩在线| 中文字幕欧美激情一区| 欧美色倩网站大全免费| 国产精品一品视频| 一区二区三区久久| 亚洲精品一区二区三区影院| www.欧美亚洲| 麻豆精品新av中文字幕| 亚洲免费av在线| 欧美不卡在线视频| 色狠狠色狠狠综合| 韩国成人精品a∨在线观看| 亚洲男帅同性gay1069| 日韩你懂的电影在线观看| 波多野结衣91| 韩国毛片一区二区三区| 亚洲欧洲综合另类在线| 日韩精品一区二区三区中文不卡| 91亚洲国产成人精品一区二三| 青青草国产成人av片免费| 国产精品麻豆久久久| 911国产精品| 一本久道久久综合中文字幕 | jlzzjlzz欧美大全| 免费成人在线影院| 亚洲国产精品一区二区久久| 久久久久久电影| 欧美一级久久久| 欧美性大战久久久久久久|