提交 fd922124 编写于 作者: S Shay Rojansky

Completed scaffolding sequences tests

上级 a8ad66c8
......@@ -70,6 +70,12 @@
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="ReverseEngineering\ExpectedResults\ColumnsWithSequences\IDNonSerialSequence.expected">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="ReverseEngineering\ExpectedResults\ColumnsWithSequences\IDSerialSequence.expected">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Include="ReverseEngineering\ExpectedResults\E2E_AllFluentApi\AllDataTypes.expected">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
......
......@@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Metadata;
namespace E2ETest.Namespace
{
public partial class ColumnsWithSequences : DbContext
public partial class ColumnsWithSequencesContext : DbContext
{
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
......@@ -13,16 +13,32 @@ namespace E2ETest.Namespace
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<IDNonSerialSequence>(entity =>
{
entity.Property(e => e.Id).HasDefaultValueSql("nextval('\"IDSomeSequence\"'::regclass)");
});
modelBuilder.Entity<NonSerialSequence>(entity =>
{
entity.Property(e => e.id)
.HasDefaultValueSql("nextval('some_sequence'::regclass)")
.ValueGeneratedNever();
entity.Property(e => e.Id).ValueGeneratedNever();
entity.Property(e => e.SomeField).HasDefaultValueSql("nextval('\"SomeSequence\"'::regclass)");
});
modelBuilder.HasSequence("some_sequence");
modelBuilder.Entity<SerialSequence>(entity =>
{
entity.Property(e => e.Id).ValueGeneratedNever();
entity.Property(e => e.SomeField).ValueGeneratedOnAdd();
});
modelBuilder.HasSequence("IDSomeSequence");
modelBuilder.HasSequence("SomeSequence");
}
public virtual DbSet<IDNonSerialSequence> IDNonSerialSequence { get; set; }
public virtual DbSet<IDSerialSequence> IDSerialSequence { get; set; }
public virtual DbSet<NonSerialSequence> NonSerialSequence { get; set; }
public virtual DbSet<SerialSequence> SerialSequence { get; set; }
}
......
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace E2ETest.Namespace
{
public partial class IDNonSerialSequence
{
public int Id { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace E2ETest.Namespace
{
public partial class IDSerialSequence
{
public int Id { get; set; }
}
}
......@@ -7,6 +7,7 @@ namespace E2ETest.Namespace
{
public partial class NonSerialSequence
{
public int SomeField { get; set; }
public int Id { get; set; }
public int? SomeField { get; set; }
}
}
......@@ -7,6 +7,7 @@ namespace E2ETest.Namespace
{
public partial class SerialSequence
{
public int Id { get; set; }
public int SomeField { get; set; }
}
}
......@@ -259,7 +259,7 @@ public void ColumnsWithSequences()
ConnectionString = scratch.Connection.ConnectionString,
ProjectPath = TestProjectDir + Path.DirectorySeparatorChar,
ProjectRootNamespace = TestNamespace,
ContextClassName = "ColumnsWithSequences",
ContextClassName = "ColumnsWithSequencesContext",
};
var expectedFileSet = new FileSet(new FileSystemFileService(),
Path.Combine("ReverseEngineering", "ExpectedResults", "ColumnsWithSequences"),
......@@ -268,6 +268,8 @@ public void ColumnsWithSequences()
Files = new List<string>
{
"ColumnsWithSequencesContext.expected",
"IDNonSerialSequence.expected",
"IDSerialSequence.expected",
"NonSerialSequence.expected",
"SerialSequence.expected"
}
......@@ -280,7 +282,7 @@ public void ColumnsWithSequences()
Files = new[] { filePaths.ContextFile }.Concat(filePaths.EntityTypeFiles).Select(Path.GetFileName).ToList()
};
throw new Exception(actualFileSet.Contents(0));
//throw new Exception(actualFileSet.Contents(0));
AssertEqualFileContents(expectedFileSet, actualFileSet);
AssertCompile(actualFileSet);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册