Example #1
0
 public T FetchOneEntity <T>(EntityFetcher <T> fetcher) where T : EntityBase, new()
 {
     T[] entities = FetchEntities <T>(fetcher);
     if (entities.Length > 0)
     {
         return(entities[0]);
     }
     else
     {
         return(new T());
     }
 }
Example #2
0
        public T[] FetchEntities <T>(EntityFetcher <T> fetcher) where T : EntityBase, new()
        {
            List <T> entities = new List <T>();

            using (SqlCommand cmd = fetcher.GetSelectCommand()) {
                cmd.Connection = m_Connection;

                if (m_Connection.State == ConnectionState.Closed)
                {
                    m_Connection.Open();
                }

                using (SqlDataReader reader = cmd.ExecuteReader(m_OwnsConnection ? CommandBehavior.CloseConnection : CommandBehavior.Default)) {
                    fetcher.ReadEntities(reader, entities);
                    reader.Close();
                }
            }

            return(entities.ToArray());
        }