Framework Framework не распознает схему модели Entity Model

c# effort entity-framework-5 sybase-ase unit-testing

Вопрос

У меня есть модель сущности базы данных Sybase ASE, и я пытаюсь использовать Effort Framework для создания модульных тестов для нее. Я могу получить доступ к базе данных с моделью сущности как в моем основном проекте, так и в модульном тестовом проекте, однако, когда вы пытаетесь использовать Effort для создания базы данных в памяти, я получаю исключение.

Код проблемы в проекте тестирования модулей

public SetUpShims()
{
     string connString = System.Configuration.ConfigurationManager.ConnectionStrings["CoPathDataContext"].ConnectionString;
     MyDbContext context;
     // CreateTransient throws exception
     EntityConnection conn = Effort.EntityConnectionFactory.CreateTransient(connString);

     context = new Data.CoPathDataContext(conn);

}

Сведения об исключении: (System.Data.MetadataException)

public SetUpShims()
{
     string connString = System.Configuration.ConfigurationManager.ConnectionStrings["CoPathDataContext"].ConnectionString;
     MyDbContext context;
     // CreateTransient throws exception
     EntityConnection conn = Effort.EntityConnectionFactory.CreateTransient(connString);

     context = new Data.CoPathDataContext(conn);

}

Трассировки стека

public SetUpShims()
{
     string connString = System.Configuration.ConfigurationManager.ConnectionStrings["CoPathDataContext"].ConnectionString;
     MyDbContext context;
     // CreateTransient throws exception
     EntityConnection conn = Effort.EntityConnectionFactory.CreateTransient(connString);

     context = new Data.CoPathDataContext(conn);

}

После просмотра файлов .csdl и .ssdl, созданных Entity, я считаю, что обнаружены поля, вызывающие проблему.

SSDL

public SetUpShims()
{
     string connString = System.Configuration.ConfigurationManager.ConnectionStrings["CoPathDataContext"].ConnectionString;
     MyDbContext context;
     // CreateTransient throws exception
     EntityConnection conn = Effort.EntityConnectionFactory.CreateTransient(connString);

     context = new Data.CoPathDataContext(conn);

}

CSDL

public SetUpShims()
{
     string connString = System.Configuration.ConfigurationManager.ConnectionStrings["CoPathDataContext"].ConnectionString;
     MyDbContext context;
     // CreateTransient throws exception
     EntityConnection conn = Effort.EntityConnectionFactory.CreateTransient(connString);

     context = new Data.CoPathDataContext(conn);

}

Я попытался удалить атрибут Precision из полей SSDL, но я все равно получил ту же ошибку. (Даже если это действительно сработало, изменения, вероятно, не будут сохраняться при регенерации модели)

Любые мысли о том, что вызывает исключение, и как я должен его решить?

Популярные ответы

если вы еще не сделали этого, обновите MySQL сервер MySQL до 5.6+, это было добавлено, а затем обновить всю дату, дату и время ...... с опцией 0-6 в ()




Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему