PDA

View Full Version : سوال: تولید کلاس های edmx با هر بار تغییر database



shahab_ksh
یک شنبه 17 اسفند 1393, 00:02 صبح
با سلام

چطور میشه با هر بار تغییر شمای دیتابیس کلاس های مربوط به اون رو به صورت خودکار تولید کرد ؟

یعنی edmx رو آپدیت کنم

SabaSabouhi
یک شنبه 17 اسفند 1393, 08:15 صبح
با سلام

چطور میشه با هر بار تغییر شمای دیتابیس کلاس های مربوط به اون رو به صورت خودکار تولید کرد ؟

یعنی edmx رو آپدیت کنم

سلام
1. تو VS فایل edmx رو بازش کن،
2. کلید Control-A رو بزن.
3. همه Entityها رو پاک کن
4. right-click کن و گزینه‌ی Update رو انتخاب کن.
5. Tables رو انتخاب کن
6. کار تمومه، لذتش رو ببر

خیلی دوست داشتم می‌شد این کارها رو با یه فرمان Command Prompt هم انجام داد :)
صبا صبوحی

shahab_ksh
یک شنبه 17 اسفند 1393, 15:08 عصر
این رو خودم بلدم باید خودکار بشه




خیلی دوست داشتم می‌شد این کارها رو با یه فرمان Command Prompt هم انجام داد :)

میشه edmgen.exe سرچ کنید دستتون میاد

منظورم توی سطح برنامه بود بدون اجرای Exe خارجی

SabaSabouhi
یک شنبه 17 اسفند 1393, 21:19 عصر
این رو خودم بلدم باید خودکار بشه


میشه edmgen.exe سرچ کنید دستتون میاد

منظورم توی سطح برنامه بود بدون اجرای Exe خارجی

سلام
تا جایی که من می‌دونم توی VS روش خودکار نداریم.
این edmgen رو هم یه نگاه می‌کنم ببینم چه کاری می‌کنه، امیدوارم همون چیزی باشه که لازم دارم :)

صبا صبوحی

ali_md110
شنبه 23 اسفند 1393, 00:39 صبح
توی روش code first میتونید از رویه زیر استفاده کنیذ البته سایر روشهای دیگه هم میتونید بکار ببرید


private void ExportMappings(DbContext context, string edmxFile)
{
var settings = new XmlWriterSettings {Indent = true};
using (XmlWriter writer = XmlWriter.Create(edmxFile, settings))
{
System.Data.Entity.Infrastructure.EdmxWriter.Write Edmx(context, writer);
}
}


توی متد seed یا سازنده app صدا بزنید


ExportMappings(context, "mappings.edmx");

shahab_ksh
یک شنبه 24 اسفند 1393, 18:49 عصر
برای Database First جواب میده ؟