コード例 #1
0
        public void Test()
        {
            DommelEntityMap <UserModel> map = FluentMapper.EntityMaps[typeof(UserModel)] as DommelEntityMap <UserModel>;

            var users = conn.Query <UserModel>("SELECT UId, UName FROM [User] WITH(NOLOCK) ORDER BY UId");

            Assert.Equal(2, users.Count());
            Assert.Equal(1, users.FirstOrDefault().Id);
        }
コード例 #2
0
        static Repository()
        {
            var entityType = typeof(TEntity);

            DommelEntityMap <TEntity> map = null;

            // TODO: remove static dependency
            if (FluentMapper.EntityMaps.ContainsKey(entityType))
            {
                map = FluentMapper.EntityMaps[entityType] as DommelEntityMap <TEntity>;
            }

            if (map != null)
            {
                _tableName    = map.TableName;
                _idColumnName = map.PropertyMaps
                                .Where(m => m.PropertyInfo.Name == "Id")
                                .Select(m => m.ColumnName).FirstOrDefault();
            }
            else
            {
                _tableName    = typeof(TEntity).Name.Pluralize();
                _idColumnName = "Id";
            }

            // determine bulk delete
            if (typeof(TKey) == typeof(Guid))
            {
                _dtTypeName = "GUID_ITEMS";
            }
            else if (typeof(TKey) == typeof(string))
            {
                _dtTypeName = "TEXT_ITEMS";
            }
            else if (typeof(TKey) == typeof(DateTime))
            {
                _dtTypeName = "DATE_ITEMS";
            }
            else if (typeof(TKey) == typeof(int) || typeof(TKey) == typeof(long))
            {
                _dtTypeName = "INT_ITEMS";
            }
            else if (typeof(TKey) == typeof(bool))
            {
                _dtTypeName = "BIT_ITEMS";
            }

            var dt = new DataTable(_dtTypeName);

            dt.Columns.Add("Item", typeof(TKey));
            dt.PrimaryKey = new[] { dt.Columns[0] };

            _modelTvpType = dt;
        }