В настоящее время я работаю с базой данных, в которой для одного из столбцов имеется пользовательский тип CLR. Если я пытаюсь использовать файл EDMX, он не распознает столбец или не позволяет мне включить его в список свойств. для стола
Я создал свойство для моего объекта модели (так как я использую Dynamic DBConext в своем коде, поэтому мне нужно было только EDMX для копирования сгенерированных файлов классов), это работает нормально и запускает запрос базы данных, когда он приходит Возвращаясь к преобразованию запроса, я получаю сообщение об ошибке, которое показывает, что EF ищет пользовательскую библиотеку типа CLR,
Я бы хотел как-то создать CAST или Convert on the Query, который отправляется в SQL, чтобы преобразовать его, прежде чем он вернется в мое приложение
Тип определяется следующим образом (я пытался заставить его быть определенного типа)
[Column(TypeName = "varbinary(max)")]
public byte[] WKBData { get; set; }
Метод OnModelCreating
modelBuilder.Configurations.Add(new WKBModelMap(wkbTableName, schema));
Модель-карта
public WKBModelMap(string tableIdentifier, string schema = "mrc")
{
this.HasKey(t => t.ElementID);//set the primary key of the EAV table
//map the tablename
string tableName = $"{schema}.{tableIdentifier}";
this.ToTable(tableName);
//this.Property(p => p.WKBData);
}
Я использую универсальный класс Repository для получения моих данных
public virtual IQueryable<TEntity> Get(
Expression<Func<TEntity, bool>> filter = null,
Func<IQueryable<TEntity>, IOrderedQueryable<TEntity>> orderBy = null,
string includeProperties = "")
{
IQueryable<TEntity> query = dbSet;
if (filter != null)
{
query = query.Where(filter);
}
foreach (var includeProperty in includeProperties.Split
(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries))
{
query = query.Include(includeProperty);
}
if (orderBy != null)
{
return orderBy(query);
}
else
{
return query;
}
}
Поэтому, когда я вызываю метод Get, у меня появляется исключение типа CLR, поэтому я хотел знать, могу ли я использовать приведение к приведенному выше классу / отображению, чтобы заставить EF построить CAST или преобразовать в select?