2010-12-30 9 views
4

プロパティには、HasColumnNameという流暢なメソッドがあります。 HasKeyにそれがありません。 CTP4では、MapSingleTypeで異なるカラム名を指定することは可能でしたが、MapSingleTypeを置き換えたMapを使用しようとすると動作しません。何か案は?EF CTP5異なる列名を持つ主キーのマップ

+1

*動作しないコードを投稿してください*。ありがとう。 –

+0

解決策を見つけましたか? –

答えて

0

CTP5のAPIはこのような可能性を提供していないようです。 成功するには、ModelBuilderにMetaDataWorkspaceを誤ったキーでビルドさせることです。

次に、objectContextで、物理エンティティ(テーブルとカラム)のストレージであるSSPaceを検索してから、「間違った」カラム名のメタデータの名前を変更しました。

私は知っている、これは正しい方法ですが、それは私が見つけた唯一のものです。 このような列名を置き換えるObjectBuilderの拡張メソッドを作成しました。そのため、キーは正しい列にマップされます。

2

これは機能しませんか?

modelBuilder.Entity<Institutes.Institute>() 
    .HasKey(e => e.Id) 
    .ToTable("Institutes", "core"); 

modelBuilder.Entity<Institutes.Institute>().Property(e => e.Id) 
    .HasColumnName("InstituteID"); 
関連する問題