「東雲 忠太郎」の平凡な日常のできごと

「東雲 忠太郎」の平凡な日常のできごと

2024.03.31
XML
カテゴリ: C#.NET


以下は、WPFアプリケーションでEntity Frameworkを使用してデータの取得、更新、削除を実装するサンプルコードです。


1. データモデル (ToDo.cs):


```csharp

using System;


namespace ToDoList.Models

{

    public class ToDo

    {

        public int Id { get; set; }

        public string Task { get; set; }

        public bool IsDone { get; set; }

        public DateTime CreatedAt { get; set; }

    }

}

```


2. Entity Frameworkのコンテキスト (ToDoContext.cs):


```csharp

using System.Data.Entity;


namespace ToDoList.Models

{

    public class ToDoContext : DbContext

    {

        public ToDoContext() : base("name=DefaultConnection") { }


        public DbSet<ToDo> ToDos { get; set; }

    }

}

```


3. WPFのMainWindow.xaml.cs:


```csharp

using System.Linq;

using System.Windows;

using ToDoList.Models;


namespace ToDoList

{

    public partial class MainWindow : Window

    {

        private ToDoContext _db = new ToDoContext();


        public MainWindow()

        {

            InitializeComponent();

            LoadToDos();

        }


        private void LoadToDos()

        {

            ToDoListView.ItemsSource = _db.ToDos.ToList();

        }


        private void AddButton_Click(object sender, RoutedEventArgs e)

        {

            var newToDo = new ToDo

            {

                Task = NewTaskTextBox.Text,

                IsDone = false,

                CreatedAt = DateTime.Now

            };


            _db.ToDos.Add(newToDo);

            _db.SaveChanges();


            LoadToDos();

        }


        private void DeleteButton_Click(object sender, RoutedEventArgs e)

        {

            if (ToDoListView.SelectedItem != null)

            {

                var selectedToDo = (ToDo)ToDoListView.SelectedItem;

                _db.ToDos.Remove(selectedToDo);

                _db.SaveChanges();


                LoadToDos();

            }

        }

    }

}

```


4. WPFのMainWindow.xaml:


```xml

<Window x:Class="ToDoList.MainWindow"

        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

        xmlns:local="clr-namespace:ToDoList"

        mc:Ignorable="d"

        Title="ToDo List" Height="450" Width="800">

    <Grid>

        <StackPanel Orientation="Horizontal" Margin="10">

            <TextBox x:Name="NewTaskTextBox" Width="300" Margin="0,0,10,0"/>

            <Button Content="Add" Click="AddButton_Click"/>

            <Button Content="Delete" Click="DeleteButton_Click"/>

        </StackPanel>

        <ListView x:Name="ToDoListView" Margin="10">

            <ListView.View>

                <GridView>

                    <GridViewColumn Header="ID" DisplayMemberBinding="{Binding Id}"/>

                    <GridViewColumn Header="Task" DisplayMemberBinding="{Binding Task}"/>

                    <GridViewColumn Header="IsDone" DisplayMemberBinding="{Binding IsDone}"/>

                    <GridViewColumn Header="Created At" DisplayMemberBinding="{Binding CreatedAt}"/>

                </GridView>

            </ListView.View>

        </ListView>

    </Grid>

</Window>

```


このサンプルでは、WPFのMainWindowにToDoのリストを表示し、ユーザーが新しいToDoを追加したり、選択したToDoを削除したりできるようになっています。データの追加や削除は、Entity Frameworkを使用してデータベースに反映されます。






お気に入りの記事を「いいね!」で応援しよう

Last updated  2024.03.31 17:59:05


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

© Rakuten Group, Inc.
Create a Mobile Website
スマートフォン版を閲覧 | PC版を閲覧
Share by: