2016-06-24 14 views
1

私は2つのエンティティCourseGroupが多数あります。私はコードを最初に使用しています。私はupdate-database -vが例外を投げているとき 多対多関係は別のテーブルGroupCoursesを作成することを知っています。EFコード内の多くの関係最初に異なるPKタイプの

StackTrace : ALTER TABLE [dbo].[GroupCourses] ALTER COLUMN [Course_CourseId] [int] NOT NULL

Exception : Operand type clash: uniqueidentifier is incompatible with int

public class Course 
    { 
     [Key] 
     public int CourseId { get; set; } 

     public virtual ICollection<Group> Groups { get; set; } 
    } 

    public class Group 
    { 
     [Key] 
     public Guid groupId { get; set; } 

     public virtual ICollection<Course> Courses{ get; set; } 
    } 

私はそれが両方のエンティティで異なるPKの種類によるものだと思います。私は正しいですか?はいの場合は、これを克服するための解決策はありますか?

ありがとうございました。

答えて

0

お客様cannot update a primary key with Entity Framework

更新しようとしたとき、私はGUidからintへのPK CourseIdを想定しています。これが問題の原因です(PKは関連テーブルの異なる型ではありません)。

テーブルを削除するか、手動でタイプを変更してください。

+0

'モデル'から 'database'を生成しようとすると例外が発生します。 PowerShellで 'update-database -v'コマンドを実行すると、データベースが作成されます。その後、私は例外を取得しています。 – Venky

+0

私はすべてのテーブルを落としました。最新のモデルで新しい 'migration'を作成し、' update-database -v'コマンドを実行します。それでも同じエラー。 – Venky