У меня есть Entity, который имеет столбцы varchar и text (тип базы данных Text/CLOB).Linq может извлекать отдельные объекты, которые имеют свойства text/clob?
Следующий запрос не работает, поскольку MyEntity имеет столбцы Clob (Oracle). Подобное поведение ожидается в SqlServer с его столбцами Text.
var query = from e in ctx.MyEntity select e.Distinct()
Как я могу использовать Linq для retrive различных строки из этой таблицы/сущностей?
Примечание: Я не могу использовать «varchar (max) SqlServer»; он должен быть «текстовым» типом; потому что в других СУБД, таких как Oracle, нет типа varchar (max).
Моя проблема связана с совместимостью SqlServer и Oracle с Linq/Entity Framework.
Note2: Мне нужны объекты типа MyEntity в выделении, а не общие типы и другие типы.
Я ценю любые предложения. Благодарю.
В Sql Server вы можете использовать 'DISTINCT' с' SUBSTRING' поля 'Text'. Я не знаю, относится ли это также к CLOB. –
Проверьте это - http://stackoverflow.com/a/10720079/1559611, здесь вы создаете анонимный тип и используете Distinct для получения ответа, затем проверьте это http://stackoverflow.com/a/10720540/1559611, так как вы должны переопределить метод GetHashCode и Equals в результирующем типе, чтобы гарантировать, что Distinct действительно функционирует должным образом. В настоящее время будет проведено сравнение ссылок на объекты, что не поможет достичь желаемого результата. Я могу представить пример кода, если его неясный –
@GertArnold, Да, это также относится к CLOB. Поэтому подстрока ограничивает CLOB только 4000 символами. Это потому, что я предпочитаю строить соединение. –