PDA

View Full Version : خطا بعد از ساخته شدن دیتابیس



HOSSEINONLINE7
سه شنبه 04 شهریور 1393, 11:29 صبح
سلام من با EFCodeFirst دیتابیسم را ساختم و جداول و Relationها بدون مشکل ایجاد میشه ولی بعدش خطای

Entities in 'DbContext.Post' participate in the 'User_Posts' relationship. 0 related 'User_Posts_Source' were found. 1 'User_Posts_Source' is expected.

دلیل این خطا چیه ؟ هرکاری کردم رفع نشد .

helpsos
سه شنبه 04 شهریور 1393, 15:07 عصر
فکر کنم قدیما این خطا برای این بود که شما دارین یک ارتباط یک به یک بین جداول ایجاد می کنید ولی مشخص نکردید که کدام اصلیه.
برای حلشم قدیما از FluentApi استفاده میشد.
می تونی خطا را در سایت های خارجی سرچ کنی زودتر به نتیجه میرسی ( در کل گفتم:لبخند:)

HOSSEINONLINE7
سه شنبه 04 شهریور 1393, 16:30 عصر
فکر کنم قدیما این خطا برای این بود که شما دارین یک ارتباط یک به یک بین جداول ایجاد می کنید ولی مشخص نکردید که کدام اصلیه.
برای حلشم قدیما از FluentApi استفاده میشد.
می تونی خطا را در سایت های خارجی سرچ کنی زودتر به نتیجه میرسی ( در کل گفتم:لبخند:)

همیشه اول سایتهای خارجی میگردم و بیشتر مواقع با اولین سرچ به جواب میرسم . اگر بازم مشکل داشتم اینجا میپرسم .

در کلاس Post پروپرتی

public virtual User User { get; set; }

را با این پروپرتی از کلاس User

public virtual ICollection<Post> Posts { get; set; }

از طریق Fluent Api

HasMany(x => x.Posts).WithRequired(x => x.User);

ارتباط دادم. وقتی Fluent Api را حذف میکنم خطا برطرف میشه .

اگر با Fluent Api ارتباط ندم باعث میشه 2بار ارتباط بین این 2 جدول برقرار بشه .

HOSSEINONLINE7
چهارشنبه 05 شهریور 1393, 22:32 عصر
دوستان راهنمایی کنید هنوز مشکل دارم ؟

rezaei_y
پنج شنبه 06 شهریور 1393, 11:13 صبح
HasRequired(x => x.User).WithMany(x => x.Posts);
این رو توی config مربوط به کلاس Post بنویس

هرچند اگه چیزی هم ننویسی باز خودش ارتباط رو برقرار میکنه