Какое пространство имен .Net содержит Entity для использования в общем репозитории?

У меня есть вопрос, который мне стыдно задать, но я все равно попробую. Я создаю общий репозиторий в asp.net mvc. Я наткнулся на пример на этом веб-сайте, который я считаю именно тем, что я искал, но есть одна проблема. Он ссылается на объект - Entity - и я не знаю, в каком пространстве имен он находится. Обычно я создаю свои репозитории и использую Entity Framework, но я решил использовать общий репозиторий, потому что я снова и снова использую один и тот же код в нескольких проектах. .

Вот код:

открытый интерфейс IRepository {void Save (ENTITY entity) где ENTITY: Entity;

void Delete<ENTITY>(ENTITY entity)
    where ENTITY : Entity;

ENTITY Load<ENTITY>(int id)
    where ENTITY : Entity;

IQueryable<ENTITY> Query<ENTITY>()
    where ENTITY : Entity;

IList<ENTITY> GetAll<ENTITY>()
    where ENTITY : Entity;

IQueryable<ENTITY> Query<ENTITY>(IDomainQuery<ENTITY> whereQuery)
    where ENTITY : Entity;

ENTITY Get<ENTITY>(int id) where ENTITY : Entity;

IList<ENTITY> GetObjectsForIds<ENTITY>(string ids) where ENTITY : Entity;

void Flush();

}

Может кто-нибудь сказать мне, в каком пространстве имен находится Entity? Как вы понимаете, на код накладывается ограничение, поэтому он должен быть типом Entity. Я знаю, что в System.Data.Entity есть Entity, но мне это не нужно. У меня были случаи, когда я искал какое-то пространство имен, на поиск которого у меня уходила целая вечность, но я искал и не смог найти подходящее пространство имен для правильного преобразования общих элементов. Я мог бы преобразовать его как класс и покончить с этим, но меня беспокоит то, что я нигде не могу найти Entity.

Может кто-то помочь мне, пожалуйста..... :-)

Вот ссылка на исходный пост. ASP.NET MVC: сколько репозиториев?


person Sara    schedule 08.04.2010    source источник


Ответы (1)


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

Я НЕ верю, что это часть структуры, а часть решения RichardOD, которое он использует.

В этом примере это может быть так же просто, как просто определить тип используемого идентификатора для всех элементов, хранящихся в репозитории.

e.g

public interface Entity
{
  int Id {get; set;}
}
person Daniel Elliott    schedule 08.04.2010
comment
Дэн, ты оооочень прав! Я только начал читать .Net Domain Driven Design на C #, и ответ сразу стал ясен. Все было так, как ты сказал. Теперь я чувствую себя немного глупо из-за того, что не подумал об этом раньше. Я снова чувствую себя новичком, когда перехожу с asp.net на asp.net mvc. Я не думал. Еще раз спасибо. - person Sara; 10.04.2010