View Full Version : سوال: ساخت مدل EF بر اساس Object
sadaf_
یک شنبه 13 مرداد 1392, 23:58 عصر
وقتی مدل رو می سازم اون رو بر اساس DBContext تولید می کنه
public partial class MainDBEntities : DbContext
چطوری می شه کاری کرد که اون رو بر اساس Object بسازه؟
public partial class MainDBEntities : ObjectContext
sadaf_
دوشنبه 14 مرداد 1392, 00:48 صبح
یکی از دوستان وقتی مدلش رو ساخت بر اساس Object براش ساخت
ولی برای من DBContext می سازه!!
Sajjad.Aghapour
دوشنبه 14 مرداد 1392, 00:50 صبح
برای این کار دو راهکار پیش روی شماست:
از EntityObject Generator استفاده کنید
Code Generation Strategy رو در Properties مدلت به Default ست کنی
uniqueboy_ara
دوشنبه 14 مرداد 1392, 00:50 صبح
نه تنها این 2تا هیچ فرقی با هم ندارن بلکه DbContext کامل تر هم هست
ولی اگه اصرار به استفاده از ObjectContext دارید متونید از این روش استفاده کنید:
public class SchoolDBContext: DbContext, IObjectContextAdapter
{
ObjectContext IObjectContextAdapter.ObjectContext
{
get { return (this as IObjectContextAdapter).ObjectContext; }
}
}
sadaf_
دوشنبه 14 مرداد 1392, 00:53 صبح
میشه دلیلشم بفرمایید که چرا میخواید به جای DbContext از ObjectContext ارث بری کنید؟
برای استفاده از esql
sadaf_
دوشنبه 14 مرداد 1392, 01:00 صبح
نه تنها این 2تا هیچ فرقی با هم ندارن بلکه DbContext کامل تر هم هست
}
شما این دستور و در DBContext ندارید
System.Data.Objects.ObjectQuery<User> contacts = context.Users.Where("it.strName = 1");
sadaf_
دوشنبه 14 مرداد 1392, 01:03 صبح
برای این کار دو را***ار پیش روی شماست:
از EntityObject Generator استفاده کنید
Code Generation Strategy رو در Properties مدلت به Default ست کنی
من هم در Properties مدل و هم در خود dll اینها را پیدا نکردم
108525
Sajjad.Aghapour
دوشنبه 14 مرداد 1392, 01:06 صبح
نه تنها این 2تا هیچ فرقی با هم ندارن بلکه DbContext کامل تر هم هست
ولی اگه اصرار به استفاده از ObjectContext دارید متونید از این روش استفاده کنید:
public class SchoolDBContext: DbContext, IObjectContextAdapter
{
ObjectContext IObjectContextAdapter.ObjectContext
{
get { return (this as IObjectContextAdapter).ObjectContext; }
}
}
نیازی به ارث بری از IObjectContextAdapter در این مثال شما نیست. خود DbContext از این Interface ارث بری میکنه
uniqueboy_ara
دوشنبه 14 مرداد 1392, 01:08 صبح
وقتی Lambda هست، دیگه چه احتیاجی به این کارا هست؟؟؟؟
.
.
DBContext vs ObjectContexts (http://www.entityframeworktutorial.net/EntityFramework4.3/dbcontext-vs-objectcontext.aspx)
Sajjad.Aghapour
دوشنبه 14 مرداد 1392, 01:11 صبح
من هم در Properties مدل و هم در خود dll اینها را پیدا نکردم
را***ار اول رو می تونید در Model خود راست کلیک کرده و گزینه Add Code Generation Item و از پنجره باز شده در تب Online مورد ذکر شده رو جستجو کنید.
را***ار دوم رو می تونید در Model خود راست کلیک کنید و Properties رو انتخاب و خاصیت Code Generation Strategy رو به مقدار Default ست کنید.
uniqueboy_ara
دوشنبه 14 مرداد 1392, 01:13 صبح
نیازی به ارث بری از IObjectContextAdapter در این مثال شما نیست. خود DbContext از این Interface ارث بری میکنه
من این مطلبو از خودم ننوشتم، چون اصلا نیازی نمیبینم که آدم بخواد به عقب برگرده :لبخندساده:
آدرس منبع رو هم که با یه سرچ ساده به دست آورده بودم قرار دادم :لبخندساده:
.
.
از اینترفیس که ارث بری نمیکنن مهندس! اینترفیسو پیاده سازی می کنن :چشمک:
Sajjad.Aghapour
دوشنبه 14 مرداد 1392, 11:55 صبح
از اینترفیس که ارث بری نمیکنن مهندس! اینترفیسو پیاده سازی می کنن :چشمک:
بله در این مورد حق با شماست. بابت این اشتباه عذر میخوام.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.