-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
This what is generated by create-models:
[Type(DatabaseType.MySQL, "mediumint", false)]
[Column("RakenskapsarFK")]
public virtual int RakenskapsarFK { get; set; }
[Index("RakenskapsarFK_Kontonummer", IndexCharacteristic.Unique, IndexType.BTREE)]
[Type(DatabaseType.MySQL, "smallint", false)]
[Column("Kontonummer")]
public virtual int Kontonummer { get; set; }
The actual database index is on both RakenskapsarFK and Kontonummer, but the Index attribute only appears on the Kontonummer column.
You can try to manually "correct" it, though I'm not sure this is correct:
[Index("RakenskapsarFK_Kontonummer", IndexCharacteristic.Unique, IndexType.BTREE, nameof(RakenskapsarFK), nameof(Kontonummer))]
[Type(DatabaseType.MySQL, "mediumint", false)]
[Column("RakenskapsarFK")]
public virtual int RakenskapsarFK { get; set; }
[Index("RakenskapsarFK_Kontonummer", IndexCharacteristic.Unique, IndexType.BTREE, nameof(RakenskapsarFK), nameof(Kontonummer))]
[Type(DatabaseType.MySQL, "smallint", false)]
[Column("Kontonummer")]
public virtual int Kontonummer { get; set; }
But if you do this model generation fails with the following call stack:
Unhandled exception. System.InvalidOperationException: Sequence contains no matching element
at System.Linq.ThrowHelper.ThrowNoMatchException()
at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source, Func`2 predicate)
at DataLinq.Metadata.MetadataFactory.<>c__DisplayClass0_0.<ParseIndices>b__4(String colName) in D:\git\DataLinq\src\DataLinq\Metadata\MetadataFactory.cs:line 44
at System.Linq.Enumerable.SelectArrayIterator`2.Fill(ReadOnlySpan`1 source, Span`1 destination, Func`2 func)
at System.Linq.Enumerable.SelectArrayIterator`2.ToList()
at DataLinq.Metadata.MetadataFactory.ParseIndices(DatabaseMetadata database) in D:\git\DataLinq\src\DataLinq\Metadata\MetadataFactory.cs:line 43
at DataLinq.Metadata.MetadataFromFileFactory.ReadFiles(String csType, IEnumerable`1 srcPaths) in D:\git\DataLinq\src\DataLinq.Tools\MetadataFromFileFactory.cs:line 130
at DataLinq.Tools.ModelGenerator.CreateModels(DataLinqDatabaseConnection connection, String basePath, String databaseName) in D:\git\DataLinq\src\DataLinq.Tools\ModelGenerator.cs:line 136
at DataLinq.CLI.Program.<>c.<Main>b__12_2(CreateModelsOptions options) in D:\git\DataLinq\src\DataLinq.CLI\Program.cs:line 155
at CommandLine.ParserResultExtensions.WithParsed[T](ParserResult`1 result, Action`1 action)
at DataLinq.CLI.Program.Main(String[] args) in D:\git\DataLinq\src\DataLinq.CLI\Program.cs:line 88
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels