У меня есть проект «Планирование ресурсов предприятия».
подключен к базе данных SQLite.
с EntityFramewok я получил уроки своих сущностей.
для операций CRUD я изменял свой assableCollection < /strong>: < /p>
public class ArtistCollection : ObservableCollection
{
private ChinookdbContext _context;
public ArtistCollection(IEnumerable artists, ChinookdbContext context) : base(artists)
{
_context = context;
}
protected override void InsertItem(int index, Artist item)
{
Context.Artists.Add(item);
base.InsertItem(index, item);
Console.WriteLine("InsertItem");
}
protected override void RemoveItem(int index)
{
Context.Artists.Remove(this[index]);
base.RemoveItem(index);
}
public void Save()
{
try
{
Console.WriteLine("Clienti: Saved N° " + _context.SaveChanges());
}
catch (Exception ex)
{
System.Windows.MessageBox.Show(ex.ToString());
}
}
public ChinookdbContext Context
{
get
{
return _context;
}
}
}
< /code>
Это моя модифицированная сущность: < /p>
public partial class Artist : INotifyPropertyChanged, IEditableObject
{
private Artist backup;
private bool inTransaction;
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string name)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
}
public void BeginEdit()
{
backup = new Artist();
backup.ArtistId = ArtistId;
backup.Name = Name;
inTransaction = true;
Console.WriteLine("- BeginEdit");
}
public void CancelEdit()
{
if (inTransaction)
{
ArtistId = backup.ArtistId;
OnPropertyChanged(nameof(ArtistId));
Name = backup.Name;
OnPropertyChanged(nameof(Name));
backup = null;
inTransaction = false;
Console.WriteLine("- CancelEdit");
}
}
public void EndEdit()
{
if (inTransaction)
{
OnPropertyChanged(nameof(ArtistId));
OnPropertyChanged(nameof(Name));
backup = null;
inTransaction = false;
Console.WriteLine("- EndEdit");
}
}
}
< /code>
Все это для одной таблицы.
Я хотел бы иметь возможность продолжить менее многословным образом, необходимо использовать несколько таблиц.
есть проще? < /p>
Подробнее здесь: https://stackoverflow.com/questions/794 ... yframework
Операция CRUD в .NET, WPF и Entity Framework ⇐ C#
Место общения программистов C#
-
Anonymous
1739476055
Anonymous
У меня есть проект «Планирование ресурсов предприятия».
подключен к базе данных SQLite.
с EntityFramewok я получил уроки своих сущностей.
для операций CRUD я изменял свой assableCollection < /strong>: < /p>
public class ArtistCollection : ObservableCollection
{
private ChinookdbContext _context;
public ArtistCollection(IEnumerable artists, ChinookdbContext context) : base(artists)
{
_context = context;
}
protected override void InsertItem(int index, Artist item)
{
Context.Artists.Add(item);
base.InsertItem(index, item);
Console.WriteLine("InsertItem");
}
protected override void RemoveItem(int index)
{
Context.Artists.Remove(this[index]);
base.RemoveItem(index);
}
public void Save()
{
try
{
Console.WriteLine("Clienti: Saved N° " + _context.SaveChanges());
}
catch (Exception ex)
{
System.Windows.MessageBox.Show(ex.ToString());
}
}
public ChinookdbContext Context
{
get
{
return _context;
}
}
}
< /code>
Это моя модифицированная сущность: < /p>
public partial class Artist : INotifyPropertyChanged, IEditableObject
{
private Artist backup;
private bool inTransaction;
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string name)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));
}
public void BeginEdit()
{
backup = new Artist();
backup.ArtistId = ArtistId;
backup.Name = Name;
inTransaction = true;
Console.WriteLine("- BeginEdit");
}
public void CancelEdit()
{
if (inTransaction)
{
ArtistId = backup.ArtistId;
OnPropertyChanged(nameof(ArtistId));
Name = backup.Name;
OnPropertyChanged(nameof(Name));
backup = null;
inTransaction = false;
Console.WriteLine("- CancelEdit");
}
}
public void EndEdit()
{
if (inTransaction)
{
OnPropertyChanged(nameof(ArtistId));
OnPropertyChanged(nameof(Name));
backup = null;
inTransaction = false;
Console.WriteLine("- EndEdit");
}
}
}
< /code>
Все это для одной таблицы.
Я хотел бы иметь возможность продолжить менее многословным образом, необходимо использовать несколько таблиц.
есть проще? < /p>
Подробнее здесь: [url]https://stackoverflow.com/questions/79437520/crud-operation-on-net-wpf-and-entityframework[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия