مدل یک به چند در EF CodeFirst
سلام
من دوتا کلاس برای EF CodeFirst دارم
public class Team {
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
[Required(ErrorMessage = "*")]
public int Id { get; set; }
[Required(ErrorMessage = "*")]
public string Name { get; set; }
[Required(ErrorMessage = "*")]
public string League { get; set; }
public ICollection<Player> Player { get; set; }
}
public class Player
{
public int Id { get; set; }
public int TeamId { get; set; }
[Required(ErrorMessage="*")]
public string Name { get; set; }
[Required(ErrorMessage = "*")]
public string Surename { get; set; }
[Required(ErrorMessage = "*")]
public int Age { get; set; }
[Required(ErrorMessage = "*")]
public string Post { get; set; }
[Required(ErrorMessage = "*")]
public string Nationality { get; set; }
[ForeignKey("TeamId")]
public virtual Team Team { get; set; }
}
به ظاهر وجود یا عدم وجود اون خط آخر در کلاس Team اصلا مهم نیست چون من به با fluent api کلید خارجی رو در کلاس Player مشخص کردم. درسته؟
ممنون
نقل قول: مدل یک به چند در EF CodeFirst
سلام
شما اعلام کردید که کلاس Team با کلاس Player ارتباط دارند:
public virtual Team Team { get; set; }
اما بعضی مواقع نیازه که Id رو بصورت دستی تغییر بدید و اون در حالتی ممکنه که کد زیر رو گذاشتید:
public int TeamId { get; set; }
[ForeignKey("TeamId")]
در غیر اینصورت با اینکه در کد خودتون Id رو تغییر میدید اما EF خودش یک نمونه جدید میسازه و ذخیره میکنه
http://www.dotnettips.info/post/926/...-ef-code-first
موفق باشیم