This commit is contained in:
ili 2017-11-19 20:37:39 +05:00
Родитель 7aad7dc134
Коммит 250ce5657a
2 изменённых файлов: 6 добавлений и 1 удалений

Просмотреть файл

@ -455,9 +455,12 @@ void LoadMetadata(DataConnection dataConnection)
foreach (var t in Tables.Values)
{
var forbidden = KeyWords.Concat(new [] {t.TypeName});
var hasDuplicates = t.Columns.Values
.Select(c => c.MemberName)
.Concat(t.ForeignKeys.Values.Select(f => f.MemberName))
.Concat(forbidden)
.ToLookup(n => n)
.Any(g => g.Count() > 1);
@ -467,6 +470,7 @@ void LoadMetadata(DataConnection dataConnection)
{
var mayDuplicate = t.Columns.Values
.Select(c => c.MemberName)
.Concat(forbidden)
.Concat(t.ForeignKeys.Values.Where(f => f != fk).Select(f => f.MemberName));
fk.MemberName = SuggestNoDuplicate(mayDuplicate, fk.MemberName, "FK");
@ -477,6 +481,7 @@ void LoadMetadata(DataConnection dataConnection)
var mayDuplicate = t.Columns.Values
.Where(c => c != col)
.Select(c => c.MemberName)
.Concat(forbidden)
.Concat(t.ForeignKeys.Values.Select(fk => fk.MemberName));
col.MemberName = SuggestNoDuplicate(mayDuplicate, col.MemberName, null);

Просмотреть файл

@ -5,7 +5,7 @@
<#@ include file="..\..\Templates\ObsoleteAttributes.ttinclude" #>
<#@ include file="SqlServer.ttinclude" #>
<#@ assembly name="$(SolutionDir)\packages\Microsoft.SqlServer.Types.14.0.314.76\lib\net40\Microsoft.SqlServer.Types.dll" #>
<#@ assembly name="$(SolutionDir)\packages\linq2db.1.8.3\lib\net40\linq2db.dll" #>
<#@ assembly name="$(SolutionDir)\packages\linq2db.1.10.0\lib\net40\linq2db.dll" #>
<#
// NamespaceName = "DataContext";
// DataContextName = "NorthwindDB";