مشکل ذخیره ردیف جدید datagrid در دیتابیس
سلام یک سوال داشتم یک دیتابیس دارم که اطلاعاتشو در دیتاگرید نشون میدم. کلاس جدولم اینطوریه
public class Contacts : INotifyPropertyChanged
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity )]
public int id { get; set; }
private string _firstName;
private string _lastName;
public string FirstName
{
set
{
_firstName = value;
if (PropertyChanged == null) return;
onPropertyChanged("FirstName");
}
get { return _firstName; }
}
public string LastName
{
set
{
_lastName = value;
if (PropertyChanged == null) return;
onPropertyChanged("LastName");
}
get { return _lastName; }
}
public event PropertyChangedEventHandler PropertyChanged;
private void onPropertyChanged(string propertyName)
{
if (PropertyChanged == null) return;
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
داخل فرم هم اینطوری در دیتاگرید استفاده میکنم
public ObservableCollection<Contacts> contacts { get; set; }
DbMainContext db = new DbMainContext();
contacts = new ObservableCollection<Contacts>(db.Contacts.ToList( ));
dataGrid_1.ItemsSource = contacts;
دیتاگریدم رو بصورت دستی وقتی داخل سطرها و سلول هاش تغییری در مقدارشون میدم اینطوری اونو ذخیره میکنم و در دیتابیسم ذخیره میشه
db.SaveChanges();
الان دیتاگریدم درحالت CanUserAddRows="True" هست و وقتی با کلیک روی دیتاگرید سطر جدید اضافه میشه بعد سلول های سطر جدید را داخلش مقداری مینویسم میخوام این سطر هم در دیتاگریدم ذخیره بشه ولی db.SaveChanges هیچی ذخیره نمیشه.باید چیکار کنم تا بتونم این رو حل کنم ؟
نقل قول: مشکل ذخیره ردیف جدید datagrid در دیتابیس
سلام
کدتون را کامل نذاشتید . مثلا کد کلاس های DbMainContext و کلا لایه ی Data Access و همچنین View و xaml را نذاشتید .
در کل این مواردی که بصورت پروژه نوشتید و مشکل داره ، باید بخش به بخش trace کنید تا ببینید مشکل از کدوم بخش هست .
مثلا کدهای لایه ی View و در مرحله ی بعد ViewModel و مرحله ی بعد Model را بررسی کنید که آیا اصلا اطلاعات وارد شده ، به لایه ی Model میرسه یا نه . و بعد لایه ی Data Access را بررسی کنید .
بصورت کدهای مجزا (اونهم ناقص اینجا میذارید) سخت هست که این موارد پیدا بشه .