Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。
Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。
0グッド
0クリップ
投稿2018/10/13 16:09
0
0
#環境
・VS2017 (.NetFramework4.6.1)
・C#
・Windows Form
・EntityFramework 6.2
・SQL Serverへのアクセス
「データベースから Code First」は、ウィザードで表示される説明にあるように "既存のデータベースに基づいて Code First モデルを作成します" というもの、つまり EF Code First の機能を使って DB を生成するためのコードを作成するためのもののはずです。(実際に使ってみると接続してデータを取得できるのですが、保証の限りではなさそうです)
これが今回の問題の原因かどうかは分かりませんが、まずはそこを直すことをお勧めします。
後は Visual Studio のウィザードに従って Entity Data Model を作って行けば、app.config への設定も含めて問題なく使えるコードが自動生成されるはずなのですが・・・
以下の記事の (1) ~ (10) と同じ手順で Windows Forms アプリケーションに Entity Data Model を作った際に自動生成された App.config のコードをご参考にアップしておきます。(記事は ASP.NET MVC のものですが、 (1) ~ (10) の手順は Windows Forms でも同じ)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form4 : Form
{
private DataGridView dataGridView1;
private BindingSource bindingSource1;
private NORTHWINDEntities context;
public Form4()
{
InitializeComponent();
this.dataGridView1 = new DataGridView();
this.dataGridView1.Dock = System.Windows.Forms.DockStyle.Fill;
this.bindingSource1 = new BindingSource();
this.dataGridView1.DataSource = this.bindingSource1;
this.Controls.Add(this.dataGridView1);
this.context = new NORTHWINDEntities();
var data = from p in context.Products
where p.CategoryID == 1
select new SelectedProducts
{
ProductID = p.ProductID,
ProductName = p.ProductName,
UnitPrice = p.UnitPrice
};
this.bindingSource1.DataSource = data.ToList();
}
}
public class SelectedProducts
{
public int ProductID { get; set; }
public string ProductName { get; set; }
public decimal? UnitPrice { get; set; }
}
}
1public class Class1
2{3 public staticvoidAddTest()4{5//◆追加6 var instance = System.Data.Entity.SqlServer.SqlProviderServices.Instance;78 DataEntities e = new DataEntities();910 var b = new Book(){11//投入データ設定12};13 e.Book.Add(b);14 e.SaveChanges();15}16}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。