CommonLibrary.NET репозиторий и EF 4 работают вместе? - PullRequest
0 голосов
/ 23 июля 2011

Я хотел бы использовать CommonLibrary .NET в моем проекте, но у меня есть устаревший код и я не могу моделировать Code First, я использую инструмент VS2010 для генерации модели из БД.

Но, похоже, что готовые средства проектирования, которые сгенерированы средством проектирования, не могут быть использованы с репозиториями в CommonLibrary, выдает ошибку:

Ошибка 1 Тип 'RepositoryTest.UserInfo' нельзя использовать как тип параметр 'T' в универсальном типе или методе 'ComLib.Entities.RepositorySql <Т>'. Там нет неявной ссылки преобразование из 'RepositoryTest.UserInfo' в 'ComLib.Entities.IEntity'.

У кого-нибудь тоже была эта проблема, если да, может быть, есть простое решение?

Я также хотел бы знать, есть ли у кого-нибудь хорошая альтернативная структура или проект, который реализует репозитории, поддерживающие объекты EF. Я TDDing, поэтому я хотел бы иметь реализацию хранилища в памяти в той же среде, поэтому я выбрал эту среду в первую очередь.

1 Ответ

1 голос
/ 23 июля 2011

Похоже, что ComLib.Entities.RepositorySql<T> имеет общее ограничение, что-то вроде

public class RepositorySql<T> where T : IEntity
{
    // ...
}

Это означает, что ваши классы сущностей должны реализовать этот интерфейс ComLib.Entities.IEntity, чтобы его можно было использовать в качестве параметра универсального типа хранилища. Итак, ваш класс должен выглядеть так:

public class UserInfo : IEntity
{
    // implementation of IEntity
    // look in documentation what you have to implement
    // or hit ctrl-period in Visual Studio on IEntity
    // to get a default implementation

    // your custom code
}
...