public async Task can_upsert_deleted_record_with_unique_key()
        {
            StoreOptions(_ =>
            {
                _.Schema.For <RecordA>().Duplicate(r => r.UniqueKey, configure: c => c.IsUnique = true);
            });

            var recordA = new RecordA {
                Id = Guid.NewGuid(), UniqueKey = "test123"
            };
            var recordB = new RecordB {
                Id = Guid.NewGuid(), UniqueKey = "test123"
            };
            await theStore.BulkInsertAsync(new[] { recordA });

            await theStore.BulkInsertAsync(new[] { recordB });

            theSession.Delete(recordA);
            theSession.Delete(recordB);
            theSession.Store(new RecordA {
                Id = Guid.NewGuid(), UniqueKey = "test123"
            });
            theSession.Store(new RecordB {
                Id = Guid.NewGuid(), UniqueKey = "test123"
            });

            await theSession.SaveChangesAsync();
        }
Пример #2
0
        public void should_correctly_handle_a_record()
        {
            var ip    = IPAddress.Parse("192.168.1.1");
            var bytes = ip.GetAddressBytes();

            var reader  = new RecordReader(bytes);
            var recordA = new RecordA(reader);

            Assert.AreEqual("192.168.1.1", recordA.ToString());
        }
Пример #3
0
        public static void DeconstructTypeToTupleAndRecord()
        {
            ClassA classA = new ClassA(1, "TestName", DateTime.Now);

            var(_, nameInTupple, (hasDate, date)) = classA;

            Console.WriteLine($"Name:{nameInTupple}");
            Console.WriteLine($"HasValue:{hasDate}, date:{date}");

            var(nameRecord, dateRecord) = new RecordA("RecordName", DateTime.Now);
            Console.WriteLine($"NameRecord:{nameRecord}, dateRecord:{dateRecord}");
        }
Пример #4
0
        private static void Main(string[] args)
        {
            var record = new RecordA(5, 1.1F, 2.12211);

            ExternModules.UseStruct(30, record, out int no, out var so);

            Console.WriteLine($"Int = {no}");
            Console.WriteLine("Struct = {");
            Console.WriteLine($"    int: {so.intValue},");
            Console.WriteLine($"    float: {so.floatValue},");
            Console.WriteLine($"    double: {so.doubleValue}");
            Console.WriteLine("}");
        }
Пример #5
0
        public void TestInClassSerialization()
        {
            var r = new RecordA
            {
                Name     = "hello",
                Endpoint = new MessageUrl("a/b/c"),
            };

            string json = Json.Default.Serialize(r);

            RecordA resultId = Json.Default.Deserialize <RecordA>(json) !;

            (resultId == r).Should().BeTrue();
            (resultId.Name == r.Name).Should().BeTrue();
            (resultId.Endpoint == r.Endpoint).Should().BeTrue();
        }
Пример #6
0
 public void DigARecord()
 {
     Dig     dig    = new Dig();
     RecordA record = dig.GetARecord("godaddy.com");
 }