You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I wanted to make my life easier and I am now stopping to map two properties to one column.
So I made a custom Type which is like an Enum but i can have also a custom String, if it doesn't fit.
When i tried to use it in a query like this
Exception message: LinqToDB.LinqToDBException: 'Cannot convert value of type Tests.Linq.EagerLoadingTests+AnredeAuswahlliste to SQL'
Stack trace:
bei LinqToDB.SqlProvider.ValueToSqlConverter.Convert(StringBuilder stringBuilder, SqlDataType dataType, Object value) in C:\git\linq2db\Source\LinqToDB\SqlProvider\ValueToSqlConverter.cs:Zeile 230.
bei LinqToDB.SqlProvider.BasicSqlBuilder.BuildValue(SqlDataType dataType, Object value) in C:\git\linq2db\Source\LinqToDB\SqlProvider\BasicSqlBuilder.cs:Zeile 2520.
bei LinqToDB.SqlProvider.BasicSqlBuilder.BuildExpression(ISqlExpression expr, Boolean buildTableName, Boolean checkParentheses, String alias, Boolean& addAlias, Boolean throwExceptionIfTableNotFound) in C:\git\linq2db\Source\LinqToDB\SqlProvider\BasicSqlBuilder.cs:Zeile 2355.
bei LinqToDB.SqlProvider.BasicSqlBuilder.BuildExpression(ISqlExpression expr) in C:\git\linq2db\Source\LinqToDB\SqlProvider\BasicSqlBuilder.cs:Zeile 2489.
bei LinqToDB.SqlProvider.BasicSqlBuilder.BuildInListValues(InList predicate, IEnumerable values) in C:\git\linq2db\Source\LinqToDB\SqlProvider\BasicSqlBuilder.cs:Zeile 2154.
bei LinqToDB.SqlProvider.BasicSqlBuilder.BuildInListPredicate(ISqlPredicate predicate) in C:\git\linq2db\Source\LinqToDB\SqlProvider\BasicSqlBuilder.cs:Zeile 2086.
bei LinqToDB.SqlProvider.BasicSqlBuilder.BuildPredicate(ISqlPredicate predicate) in C:\git\linq2db\Source\LinqToDB\SqlProvider\BasicSqlBuilder.cs:Zeile 1864.
bei LinqToDB.DataProvider.SQLite.SQLiteSqlBuilder.BuildPredicate(ISqlPredicate predicate) in C:\git\linq2db\Source\LinqToDB\DataProvider\SQLite\SQLiteSqlBuilder.cs:Zeile 157.
bei LinqToDB.SqlProvider.BasicSqlBuilder.BuildPredicate(Int32 parentPrecedence, Int32 precedence, ISqlPredicate predicate) in C:\git\linq2db\Source\LinqToDB\SqlProvider\BasicSqlBuilder.cs:Zeile 2193.
bei LinqToDB.SqlProvider.BasicSqlBuilder.BuildSearchCondition(SqlSearchCondition condition) in C:\git\linq2db\Source\LinqToDB\SqlProvider\BasicSqlBuilder.cs:Zeile 1794.
bei LinqToDB.SqlProvider.BasicSqlBuilder.BuildSearchCondition(Int32 parentPrecedence, SqlSearchCondition condition) in C:\git\linq2db\Source\LinqToDB\SqlProvider\BasicSqlBuilder.cs:Zeile 1805.
bei LinqToDB.SqlProvider.BasicSqlBuilder.BuildWhereSearchCondition(SelectQuery selectQuery, SqlSearchCondition condition) in C:\git\linq2db\Source\LinqToDB\SqlProvider\BasicSqlBuilder.cs:Zeile 1759.
bei LinqToDB.SqlProvider.BasicSqlBuilder.BuildWhereClause(SelectQuery selectQuery) in C:\git\linq2db\Source\LinqToDB\SqlProvider\BasicSqlBuilder.cs:Zeile 1536.
bei LinqToDB.SqlProvider.BasicSqlBuilder.BuildSelectQuery(SqlSelectStatement selectStatement) in C:\git\linq2db\Source\LinqToDB\SqlProvider\BasicSqlBuilder.cs:Zeile 283.
bei LinqToDB.SqlProvider.BasicSqlBuilder.BuildSql() in C:\git\linq2db\Source\LinqToDB\SqlProvider\BasicSqlBuilder.cs:Zeile 213.
bei LinqToDB.SqlProvider.BasicSqlBuilder.BuildSql(Int32 commandNumber, SqlStatement statement, StringBuilder sb, Int32 indent, Boolean skipAlias) in C:\git\linq2db\Source\LinqToDB\SqlProvider\BasicSqlBuilder.cs:Zeile 131.
bei LinqToDB.SqlProvider.BasicSqlBuilder.BuildSql(Int32 commandNumber, SqlStatement statement, StringBuilder sb, Int32 startIndent) in C:\git\linq2db\Source\LinqToDB\SqlProvider\BasicSqlBuilder.cs:Zeile 92.
bei LinqToDB.Data.DataConnection.QueryRunner.GetCommand(DataConnection dataConnection, IQueryContext query, Int32 startIndent) in C:\git\linq2db\Source\LinqToDB\Data\DataConnection.QueryRunner.cs:Zeile 189.
bei LinqToDB.Data.DataConnection.QueryRunner.SetQuery(DataConnection dataConnection, IQueryContext queryContext, Int32 startIndent) in C:\git\linq2db\Source\LinqToDB\Data\DataConnection.QueryRunner.cs:Zeile 253.
bei LinqToDB.Data.DataConnection.QueryRunner.SetQuery() in C:\git\linq2db\Source\LinqToDB\Data\DataConnection.QueryRunner.cs:Zeile 262.
bei LinqToDB.Linq.QueryRunnerBase.SetCommand(Boolean clearQueryHints) in C:\git\linq2db\Source\LinqToDB\Linq\QueryRunnerBase.cs:Zeile 70.
bei LinqToDB.Data.DataConnection.QueryRunner.ExecuteReader() in C:\git\linq2db\Source\LinqToDB\Data\DataConnection.QueryRunner.cs:Zeile 433.
bei LinqToDB.Linq.QueryRunner.<ExecuteQuery>d__13`1.MoveNext() in C:\git\linq2db\Source\LinqToDB\Linq\QueryRunner.cs:Zeile 570.
bei System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
bei System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
bei Tests.Linq.EagerLoadingTests.TestLoadWith(String context) in C:\git\linq2db\Tests\Tests.Playground\TestTemplate.cs:Zeile 327.
I Tried Converters, to help the Query Builder, but it didn't help.
@sdanyliv Great work as always 👍 . I totally forgot the new HasConversion for the column mapping.
Sadly it didn't help me (Version 3.1.5), but i can wait for a patch (probably you're improvements in the PR are needed to make it work).
@sdanyliv Testet the PR-Branch and it works great.
Even better, when i implement IConvertible in AnredeAuswahlliste it even works without the HasConversion Mapping. So the Mapping is only neccessary when the Type hasn't implemented the Interface.
Thats great because we use the Type on many Columns and now i don't have to map the conversion for every Column.
All in all a great improvement! Do you know when this will get released roughly?
Hi, it's me again ;).
I wanted to make my life easier and I am now stopping to map two properties to one column.
So I made a custom Type which is like an Enum but i can have also a custom String, if it doesn't fit.
When i tried to use it in a query like this
Linq2Db is happy. But when i try to use it in an "In"-Extension Method it breaks.
I Tried Converters, to help the Query Builder, but it didn't help.
It helps, when i use SetValueToSqlConverter. But then i have to Escape it myself and i think there has to be a better way.
Steps to reproduce
I use you're Unittests again. (EagerLoadingTests).
Maybe you can give me a tip what is wrong, or what i have to map to make the queries work, even with "In"-Extensions.
Environment details
linq2db version: 3.1.5
Database Server: SqlServer
Database Provider: SqlServer
Operating system: Win10
.NET Framework: .Net Framework 4.7.2
The text was updated successfully, but these errors were encountered: