0

次のコードを実装して、対応する列とわずかに異なるプロパティ名、およびテーブル名とはわずかに異なるクラス名を持つ POCO にデータベースをマップしようとしています。

単一タイプにマップ

記事はこちら

問題は、MapSingleType というメソッドがないことです。次の2つの方法を利用できます。

public EntityTypeConfiguration<TEntityType> Map<TDerived>(Action<EntityMappingConfiguration<TDerived>> derivedTypeMapConfigurationAction) where TDerived : class, TEntityType;

public EntityTypeConfiguration<TEntityType> Map(Action<EntityMappingConfiguration<TEntityType>> entityMappingConfigurationAction);

ただし、それらの使用方法の例が見つかりません。マップする必要がある非常に多数の列に最適に機能するため、 MapSingleType メソッドを見つけたいと思っています。

ここからCTP4をダウンロードしました

そして私はEF 4.0.3を使用しています

これが私がこれまでに持っているコードです:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
using System.ComponentModel.DataAnnotations;
using PlayingWithEF.DAL.CLS.Classes;
using System.Data.Entity.ModelConfiguration;

namespace PlayingWithEF.DAL.CLS.Context
{

    public class CLSContext : DbContext
    {
        public DbSet<Listing> Listings { get; set; }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Entity<Listing>().Map(...?)
        }
    }
}
4

2 に答える 2

1

各プロパティを個別にマップする必要があります。

modelBuilder.Entity<Listing>()
   .Property(l => l.YourProperty)
   .HasColumnName("PropertyName");

modelBuilder.Entity<Listing>()
   .ToTable("TableName");
于 2012-09-21T17:37:16.443 に答える
1

CTP4 と EF 4.0.3 を一緒に使用することはできません。これらは同じライブラリの異なるバージョンです。

この機能はある時点でベータ版から削除され、出荷版には含まれていないと思います。

于 2012-09-21T18:24:51.030 に答える