예제 #1
0
        public static EntityDbMappingInfo GetEntityInfo <TEntity>(this EdoContext context)
        {
            var entityType = typeof(TEntity);

            return(EntityInfos.GetOrAdd(entityType, (prop, dbContext) =>
            {
                var entity = dbContext.Model.FindEntityType(entityType);
                return new EntityDbMappingInfo()
                {
                    Table = entity.GetTableName(),
                    Schema = entity.GetSchema() ?? DefaultSchema,
                    PropertyMapping = entity.GetProperties()
                                      .ToDictionary(property => property.Name, property => property.GetColumnName())
                };
            },
                                        context));
        }
예제 #2
0
    public static EntityDbMappingInfo GetEntityInfo <TEntity>(this NakijinContext context)
    {
        var entityType = typeof(TEntity);

        return(EntityInfos.GetOrAdd(entityType, (prop, dbContext) =>
        {
            var entity = dbContext.Model.FindEntityType(entityType) !;
            var tableName = entity.GetTableName() !;
            return new EntityDbMappingInfo
            {
                Table = tableName,
                Schema = entity.GetSchema() ?? DefaultSchema,
                PropertyMapping = entity.GetProperties()
                                  .ToDictionary(property => property.Name, property => property.GetDefaultColumnName(StoreObjectIdentifier.Table(tableName, DefaultSchema)))
            };
        },
                                    context));
    }