برای ایجاد backup و Restore کردن دیتابیس توسط دستورات EntityFromwotk چه کدهایی باید نوشته بشه . لطفا در این مورد راهنمایی بفرمایید.
باتشکر
ببینید انتیتی فریم ورک یک ORM هست. یعنی انتیتی فریم ورک برای ارتباط بین نرم افزار شما و دیتابیس و ایجاد کوئری روی اطلاعات دیتابیس ایجاد شده. به عبارتی میشه گفت Entity Framework برای مدیریت اطلاعات و تعاملات بین نرم افزار و دیتابیس هست. عملیات Backup و Restore جزو عملیات اصلی و مدیریتی خود دیتابیس هست و اصولا ORM ها خصوصا انتیتی فریم ورک قابلیت زیادی برای تغییرات اساسی مثل یک آپ یا ری استور دیتابیس ارائه نمیدن.
بهتره برای بک آپ گیری از خود Sql Server Managment Studio استفاده کنید و با تعریف Job به صورت اتوماتیک عملیات بک آپ گیری رو انجام بدید.
BackUp DataBase DataBaseName To Disk = 'path' With Compression
توسط دستور بالا می تونید بک آپ گیری انجام بدید.
البته برای بک آپ گیری از طریق خود نرم افزار امکاناتی وجود داره. میتونید از ExcuteSqlCommand هم استفاده کنید.
string dbname = db.Database.Connection.Database;
string sqlCommand = @"BACKUP DATABASE [{0}] TO DISK = N'{1}' WITH NOFORMAT, NOINIT, NAME = N'MyAir-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10";
db.Database.ExecuteSqlCommand(System.Data.Entity.TransactionalBehavior.DoNotEnsureTransaction, string.Format(sqlCommand,dbname, "Amin9999999999999"));
باسلام
من خودم از این استفاده کردم
فقط یه نکته داره روی درایو ویندوز بعضی وقتا خطا میده
روی درایوی بجز ویندوز باید ذخیره کن کاربر
string SaveDB { get; set; }
private void BackupBatabase_Click(object sender, RoutedEventArgs e)
{
var QUAUA = (from UA in DbVahdat.tblUserAccesses where UA.UserIdRef == PublicVariable.gUserId where UA.SystemPartIdRef == 23 select UA);
var result2 = QUAUA.ToList(); if (result2.Count == 0) { MessageBox.Show("عدم دسترسی", "اخطار", MessageBoxButton.OK); return; }
Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
dlg.FileName = "VahdatSystem" + String.Format("{0:yyyyMMdd}", Convert.ToDateTime(calender.Text)) + "-" + DateTime.Now.ToString("HHmmss"); // Default file name
dlg.DefaultExt = ".bak";
dlg.Filter = "Database Backup (.bak)|*.bak";
Nullable<bool> result = dlg.ShowDialog();
if (result == true)
{
SaveDB = dlg.FileName;
try
{
var sql = "backup database VahdatSystemDB to disk = {0} with compression";
DbVahdat.Database.ExecuteSqlCommand(TransactionalBehavior.DoNotEnsureTransaction, sql, SaveDB);
MessageBox.Show($"نسخه پشتیبان دیتابیس " + "\n" +
"با موفقیت تهیه شد",
$"نسخه پشتیبان دیتابیس",
MessageBoxButton.OK, MessageBoxImage.None, MessageBoxResult.OK, MessageBoxOptions.RightAlign | MessageBoxOptions.RtlReading);
}
catch (Exception ex)
{
MessageBox.Show("هنگام تهیه نسخه پشتیبان اطلاعات در دیتابیس مشکلی بوجود آماده لطفاً دوباره سعی کنید" + ex.ToString(), "خطای ارتباطی");
}
finally
{
}
}
}
از کاربر (اگه دسترسی بکاپ گیری داشته باشه ) مسیر میگیره و بکاپ رو ذخیره میکنه
اگه اخطار بده بهش پیغام خطا میده
تاریخ :
1401/02/24
- ساعت :
02:17:00 PM
- بازدید :
2013
- پاسخ :
1
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1034
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1161
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
599
- پاسخ :
1
|
تاریخ :
1403/07/13
- ساعت :
12:06:00 PM
- بازدید :
350
- پاسخ :
1
|
تاریخ :
1403/06/24
- ساعت :
08:52:00 PM
- بازدید :
319
- پاسخ :
1
|
تاریخ :
1398/09/14
- ساعت :
01:58:00 PM
- بازدید :
4270
- پاسخ :
1
|
تاریخ :
1398/09/16
- ساعت :
11:41:00 AM
- بازدید :
4283
- پاسخ :
1
|
تاریخ :
1398/09/07
- ساعت :
02:15:00 PM
- بازدید :
3876
- پاسخ :
5
|
تاریخ :
1403/05/16
- ساعت :
05:43:00 AM
- بازدید :
662
- پاسخ :
0
|
تاریخ :
1401/02/24
- ساعت :
02:17:00 PM
- بازدید :
2013
- پاسخ :
1
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
79
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
111
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1034
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
430
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
931
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1356
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4800
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1161
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
599
- پاسخ :
1
|