コード例 #1
0
        public object Fetch(DatabaseCore accessor)
        {
            if (accessor == null)
            {
                return(null);
            }

            object             result     = null;
            string             sql        = null;
            List <DbParameter> parameters = null;
            TableEntity        ent        = null;

            FreshSQL(accessor, out sql, out parameters);
            var data = accessor.Retrieve(accessor.CreateCommand(sql, parameters));

            if (data != null && data.Rows.Count > 0)
            {
                result = CreateObject();
                switch (ForeignType)
                {
                case 1:     //Entity
                    ent = (TableEntity)result;
                    ent.SetDBAccessor(accessor);
                    ent.SetEntity(data.Rows[0]);
                    ent.Fresh();
                    break;

                case 2:     //List
                    foreach (DataRow row in data.Rows)
                    {
                        ent = CreateEntity();
                        ent.SetDBAccessor(accessor);
                        ent.SetEntity(row);
                        ent.Fresh();
                        AddEntity2List(ent, result);
                    }
                    break;
                }
            }
            return(result);
        }