0

GUID タイプを外部キーとして使用するユーザー クラスがあります。ユーザー クラスの GUID を使用する別のテーブルにデータをシードしたいのですが、「文字列を明示的に system.GUID に変換できません」というエラーが発生します。

これは私がシードしようとしているテーブルです:

public class Song
    {
        [ScaffoldColumn(false)]
        public int Songid { get; set; }

        [ScaffoldColumn(false)]
        public virtual Guid UserId { get; set; }

        public string SongTitle { get; set; }

        public string Genre { get; set; }

        public string insWanted { get; set; }

        public string mp3URL { get; set; }

        public string wavURL { get; set; }

        public int? BPM { get; set; }
    }

ユーザークラスは次のとおりです。

public class User
    {
        [Key]
        public virtual Guid UserId { get; set; }

        [Required]
        public virtual String Username { get; set; }

        [Required]
        public virtual String Email { get; set; }

        [Required, DataType(DataType.Password)]
        public virtual String Password { get; set; }

        public virtual String FirstName { get; set; }
        public virtual String LastName { get; set; }

        [DataType(DataType.MultilineText)]
        public virtual String Comment { get; set; }

        public virtual Boolean IsApproved { get; set; }
        public virtual int PasswordFailuresSinceLastSuccess { get; set; }
        public virtual DateTime? LastPasswordFailureDate { get; set; }
        public virtual DateTime? LastActivityDate { get; set; }
        public virtual DateTime? LastLockoutDate { get; set; }
        public virtual DateTime? LastLoginDate { get; set; }
        public virtual String ConfirmationToken { get; set; }
        public virtual DateTime? CreateDate { get; set; }
        public virtual Boolean IsLockedOut { get; set; }
        public virtual DateTime? LastPasswordChangedDate { get; set; }
        public virtual String PasswordVerificationToken { get; set; }
        public virtual DateTime? PasswordVerificationTokenExpirationDate { get; set; }

        public virtual ICollection<Role> Roles { get; set; }
4

1 に答える 1

0

これは、ユーザー テーブルの Guid が入力されていないために発生するのでしょうか? この PK 属性を使用してみてください。

 [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
于 2012-05-10T06:39:04.310 に答える