Posted
over 4 years
ago
by
Kolesiki
Ребят, собсно, сабж.
Есть готовый объект Person { ID = 7, ...} — вот я хочу сделать "new SqlQuery(db).Insert(person)" и чтобы ID тоже вставилось. На уровне SQL надо сделать "IDENTITY_INSERT ON", но вот как сказать тулкиту "вставляй ID
... [More]
тоже"?? Если просто вставлять, то сервер ругается "давай мне значение ID", потому что BLT его опускает.
[Less]
|
Posted
almost 5 years
ago
by
Петрухин Эдуард
Версия linq2db 2.7.4, СУБД — MS SQL Server 2017.
При использовании функции STRING_AGG (LinqToDB.Sql.StringAggregate) SQL Server выдаёт ошибку «Argument data type nvarchar is invalid for argument 2 of string_agg function».
В C# коде передаю
... [More]
в функцию строку ", " в качестве разделителя, а агрегируются значения из столбца таблицы с типом данных varchar.
Linq2Db преобразует разделитель ", " в nvarchar строку N', '. А это не нравится функции STRING_AGG, потому что «If the input expression is type VARCHAR, the separator cannot be type NVARCHAR» (ссылка).
Вопрос: можно как-то заставить linq2db генерировать varchar строку, без префикса N?
Попытка обернуть ", " с помощью функции LinqToDB.Sql.AsSql не помогла.
Понятно, что можно сконвертировать строку в varchar (Sql.Convert(Sql.DefaultVarChar, ", ")), но это как-то совсем не хочеться делать.... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
[Less]
|
Posted
almost 5 years
ago
by
Слава
Здравствуйте, IT, Вы писали:
IT>Там же написано, что должно быть 151K после налогов в одно рыло.
IT>А ты даёшь ссылку на семью, как минимум из 2-х человек.
Я прошу прощения за оффтопик, но вас очень редко можно встретить на форуме
... [More]
, а у меня к вам вопрос, причём я даже затрудняюсь его полностью сформулировть.
Я хочу сделать нечто вроде linq2db для DynamoDB. Но, для этого нужно транслировать ExpressionTree в сам запрос, а проблема в том, что выражения DynamoDB поддерживают далеко не все операции linq. SQL гораздо более полный. То есть, чтобы не дать программисту написать выражение, которое не может быть скомпилировано в запрос, нужно видимо писать набор своих операций, подобных linq. Но ведь для IQueryable (потомка IEnumerable) определено множество методов linq, и соответственно, при использовании IQueryable нельзя гарантировать, что будут использованы только разрешенные в DynamoDB операции. Что же с этим делать, создавать своего потомка IEnumerable? Так тоже не пойдёт, ведь всегда можно привести гипотетический IDynamoQueryable к IEnumerable и вызвать неподдерживаемую операцию.
Что бы вы порекомендовали?
11.05.19 00:19: Ветка выделена из темы неужели успешный программист в штатах входит в 1% самыхАвтор: xmaДата: 07.05 17:31 — IT
[Less]
|
Posted
almost 5 years
ago
by
Слава
Здравствуйте, IT, Вы писали:
IT>Там же написано, что должно быть 151K после налогов в одно рыло.
IT>А ты даёшь ссылку на семью, как минимум из 2-х человек.
Я прошу прощения за оффтопик, но вас очень редко можно встретить на форуме
... [More]
, а у меня к вам вопрос, причём я даже затрудняюсь его полностью сформулировть.
Я хочу сделать нечто вроде linq2db для DynamoDB. Но, для этого нужно транслировать ExpressionTree в сам запрос, а проблема в том, что выражения DynamoDB поддерживают далеко не все операции linq. SQL гораздо более полный. То есть, чтобы не дать программисту написать выражение, которое не может быть скомпилировано в запрос, нужно видимо писать набор своих операций, подобных linq. Но ведь для IQueryable (потомка IEnumerable) определено множество методов linq, и соответственно, при использовании IQueryable нельзя гарантировать, что будут использованы только разрешенные в DynamoDB операции. Что же с этим делать, создавать своего потомка IEnumerable? Так тоже не пойдёт, ведь всегда можно привести гипотетический IDynamoQueryable к IEnumerable и вызвать неподдерживаемую операцию.
Что бы вы порекомендовали?
11.05.19 00:19: Ветка выделена из темы неужели успешный программист в штатах входит в 1% самыхАвтор: xmaДата: 07.05 17:31 — IT
[Less]
|
Posted
almost 5 years
ago
by
Слава
Здравствуйте, IT, Вы писали:
IT>Там же написано, что должно быть 151K после налогов в одно рыло.
IT>А ты даёшь ссылку на семью, как минимум из 2-х человек.
Я прошу прощения за оффтопик, но вас очень редко можно встретить на форуме
... [More]
, а у меня к вам вопрос, причём я даже затрудняюсь его полностью сформулировть.
Я хочу сделать нечто вроде linq2db для DynamoDB. Но, для этого нужно транслировать ExpressionTree в сам запрос, а проблема в том, что выражения DynamoDB поддерживают далеко не все операции linq. SQL гораздо более полный. То есть, чтобы не дать программисту написать выражение, которое не может быть скомпилировано в запрос, нужно видимо писать набор своих операций, подобных linq. Но ведь для IQueryable (потомка IEnumerable) определено множество методов linq, и соответственно, при использовании IQueryable нельзя гарантировать, что будут использованы только разрешенные в DynamoDB операции. Что же с этим делать, создавать своего потомка IEnumerable? Так тоже не пойдёт, ведь всегда можно привести гипотетический IDynamoQueryable к IEnumerable и вызвать неподдерживаемую операцию.
Что бы вы порекомендовали?
11.05.19 00:19: Ветка выделена из темы неужели успешный программист в штатах входит в 1% самыхАвтор: xmaДата: 07.05 17:31 — IT
[Less]
|
Posted
almost 5 years
ago
by
Слава
Здравствуйте, IT, Вы писали:
IT>Там же написано, что должно быть 151K после налогов в одно рыло.
IT>А ты даёшь ссылку на семью, как минимум из 2-х человек.
Я прошу прощения за оффтопик, но вас очень редко можно встретить на форуме
... [More]
, а у меня к вам вопрос, причём я даже затрудняюсь его полностью сформулировть.
Я хочу сделать нечто вроде linq2db для DynamoDB. Но, для этого нужно транслировать ExpressionTree в сам запрос, а проблема в том, что выражения DynamoDB поддерживают далеко не все операции linq. SQL гораздо более полный. То есть, чтобы не дать программисту написать выражение, которое не может быть скомпилировано в запрос, нужно видимо писать набор своих операций, подобных linq. Но ведь для IQueryable (потомка IEnumerable) определено множество методов linq, и соответственно, при использовании IQueryable нельзя гарантировать, что будут использованы только разрешенные в DynamoDB операции. Что же с этим делать, создавать своего потомка IEnumerable? Так тоже не пойдёт, ведь всегда можно привести гипотетический IDynamoQueryable к IEnumerable и вызвать неподдерживаемую операцию.
Что бы вы порекомендовали?
11.05.19 00:19: Ветка выделена из темы неужели успешный программист в штатах входит в 1% самыхАвтор: xmaДата: 07.05 17:31 — IT
[Less]
|
Posted
almost 5 years
ago
by
Слава
Здравствуйте, IT, Вы писали:
IT>Там же написано, что должно быть 151K после налогов в одно рыло.
IT>А ты даёшь ссылку на семью, как минимум из 2-х человек.
Я прошу прощения за оффтопик, но вас очень редко можно встретить на форуме
... [More]
, а у меня к вам вопрос, причём я даже затрудняюсь его полностью сформулировть.
Я хочу сделать нечто вроде linq2db для DynamoDB. Но, для этого нужно транслировать ExpressionTree в сам запрос, а проблема в том, что выражения DynamoDB поддерживают далеко не все операции linq. SQL гораздо более полный. То есть, чтобы не дать программисту написать выражение, которое не может быть скомпилировано в запрос, нужно видимо писать набор своих операций, подобных linq. Но ведь для IQueryable (потомка IEnumerable) определено множество методов linq, и соответственно, при использовании IQueryable нельзя гарантировать, что будут использованы только разрешенные в DynamoDB операции. Что же с этим делать, создавать своего потомка IEnumerable? Так тоже не пойдёт, ведь всегда можно привести гипотетический IDynamoQueryable к IEnumerable и вызвать неподдерживаемую операцию.
Что бы вы порекомендовали?
11.05.19 00:19: Ветка выделена из темы неужели успешный программист в штатах входит в 1% самыхАвтор: xmaДата: 07.05 17:31 — IT
[Less]
|
Posted
almost 5 years
ago
by
Слава
Здравствуйте, IT, Вы писали:
IT>Там же написано, что должно быть 151K после налогов в одно рыло.
IT>А ты даёшь ссылку на семью, как минимум из 2-х человек.
Я прошу прощения за оффтопик, но вас очень редко можно встретить на форуме
... [More]
, а у меня к вам вопрос, причём я даже затрудняюсь его полностью сформулировть.
Я хочу сделать нечто вроде linq2db для DynamoDB. Но, для этого нужно транслировать ExpressionTree в сам запрос, а проблема в том, что выражения DynamoDB поддерживают далеко не все операции linq. SQL гораздо более полный. То есть, чтобы не дать программисту написать выражение, которое не может быть скомпилировано в запрос, нужно видимо писать набор своих операций, подобных linq. Но ведь для IQueryable (потомка IEnumerable) определено множество методов linq, и соответственно, при использовании IQueryable нельзя гарантировать, что будут использованы только разрешенные в DynamoDB операции. Что же с этим делать, создавать своего потомка IEnumerable? Так тоже не пойдёт, ведь всегда можно привести гипотетический IDynamoQueryable к IEnumerable и вызвать неподдерживаемую операцию.
Что бы вы порекомендовали?
11.05.19 00:19: Ветка выделена из темы неужели успешный программист в штатах входит в 1% самыхАвтор: xmaДата: 07.05 17:31 — IT
[Less]
|
Posted
almost 5 years
ago
by
Слава
Здравствуйте, IT, Вы писали:
IT>Там же написано, что должно быть 151K после налогов в одно рыло.
IT>А ты даёшь ссылку на семью, как минимум из 2-х человек.
Я прошу прощения за оффтопик, но вас очень редко можно встретить на форуме
... [More]
, а у меня к вам вопрос, причём я даже затрудняюсь его полностью сформулировть.
Я хочу сделать нечто вроде linq2db для DynamoDB. Но, для этого нужно транслировать ExpressionTree в сам запрос, а проблема в том, что выражения DynamoDB поддерживают далеко не все операции linq. SQL гораздо более полный. То есть, чтобы не дать программисту написать выражение, которое не может быть скомпилировано в запрос, нужно видимо писать набор своих операций, подобных linq. Но ведь для IQueryable (потомка IEnumerable) определено множество методов linq, и соответственно, при использовании IQueryable нельзя гарантировать, что будут использованы только разрешенные в DynamoDB операции. Что же с этим делать, создавать своего потомка IEnumerable? Так тоже не пойдёт, ведь всегда можно привести гипотетический IDynamoQueryable к IEnumerable и вызвать неподдерживаемую операцию.
Что бы вы порекомендовали?
11.05.19 00:19: Ветка выделена из темы неужели успешный программист в штатах входит в 1% самыхАвтор: xmaДата: 07.05 17:31 — IT
[Less]
|
Posted
almost 5 years
ago
by
Слава
Здравствуйте, IT, Вы писали:
IT>Там же написано, что должно быть 151K после налогов в одно рыло.
IT>А ты даёшь ссылку на семью, как минимум из 2-х человек.
Я прошу прощения за оффтопик, но вас очень редко можно встретить на форуме
... [More]
, а у меня к вам вопрос, причём я даже затрудняюсь его полностью сформулировть.
Я хочу сделать нечто вроде linq2db для DynamoDB. Но, для этого нужно транслировать ExpressionTree в сам запрос, а проблема в том, что выражения DynamoDB поддерживают далеко не все операции linq. SQL гораздо более полный. То есть, чтобы не дать программисту написать выражение, которое не может быть скомпилировано в запрос, нужно видимо писать набор своих операций, подобных linq. Но ведь для IQueryable (потомка IEnumerable) определено множество методов linq, и соответственно, при использовании IQueryable нельзя гарантировать, что будут использованы только разрешенные в DynamoDB операции. Что же с этим делать, создавать своего потомка IEnumerable? Так тоже не пойдёт, ведь всегда можно привести гипотетический IDynamoQueryable к IEnumerable и вызвать неподдерживаемую операцию.
Что бы вы порекомендовали?
11.05.19 00:19: Ветка выделена из темы неужели успешный программист в штатах входит в 1% самыхАвтор: xmaДата: 07.05 17:31 — IT
[Less]
|