Вернуть строки из хранимой процедуры - PullRequest
1 голос
/ 27 апреля 2010

У меня есть этот код:

public IEnumerable<SomeClass> GetAvalibleThingies(DateTime startDate, DateTime endDate, int categoryID)
    {


        if (_entities.Connection.State == System.Data.ConnectionState.Closed)
            _entities.Connection.Open();

        using (EntityCommand c = new EntityCommand("SomeEntities.GetAvalibleThingies", (EntityConnection)this._entities.Connection))
        {
            c.CommandType = System.Data.CommandType.StoredProcedure;

            EntityParameter paramstartDate = new EntityParameter("startDate", System.Data.DbType.DateTime);
            paramstartDate.Direction = System.Data.ParameterDirection.Input;
            paramstartDate.Value = startDate;
            c.Parameters.Add(paramstartDate);

    ........
            var x = c.ExecuteReader();

            return x as IEnumerable<SomeClass>;
        };

Но я не могу заставить его вернуть список SomeClass. Что нужно сделать здесь? Я использую Entity Framework 3.5sp1 один

/ M

1 Ответ

1 голос
/ 30 апреля 2010

EntityDataReader - класс, аналогичный SqlDataReader, и должен обрабатываться аналогичным образом.
Вместо строк

  var x = c.ExecuteReader();
  return x as IEnumerable; 

должно быть что-то вроде


  List list = new List();
  using(EntityDataReader reader = c.ExecuteReader()) {
    while(reader.Read()) {
      SomeClass item = new SomeClass() {
      };
      list.Add(item);
    }
  }
  return list;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...