Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9314

お手軽Linux GUIアプリ開発 初級 前編

$
0
0

お手軽Linux GUIアプリ開発 初級 前編

  1. Sqlite3の利用
  2. Dapperの導入 Dapperについてまとめてみた
  3. Dapper Extensionの導入 Dapperの拡張ライブラリ 比較検討
  4. Swaggerを使う Stoplight Studioなどを使う  本当に使ってよかったOpenAPI (Swagger) ツール
  5. C#からPythonを実行する C#からPythonスクリプトを呼び出す
  6. DataGridViewとModelのバインディングの実現 URL treeView
  7. RaspberryPiへのデプロイの仕方

前編は5まで

Sample File

プロジェクトはGtk#を選択する

GTK#について

スクリーンショット 2020-04-09 19.34.07.png

Nugetからパッケージをダウンロードする

スクリーンショット 2020-04-09 19.36.00.png

ダウンロードするパッケージ

Dapper
DapperExtensions
Mono.Data.Sqliteをダウンロードします。Gtk2#の場合はSystem.Data.Sqliteは読み込めません。

スクリーンショット 2020-04-09 19.10.43.png

Dapperを使ったQuery

Dapper Tutorial

Queryの結果を自動でモデルに入れることができます。またInsert時Update時に引数代わりにModelを使えます。

staticpublicvoid_dapperTest(){Mono.Data.Sqlite.SqliteConnectionconnection=newMono.Data.Sqlite.SqliteConnection();connection.ConnectionString=@"Data Source=パス/test.sqlite";connection.Open();varquery="select * from testTable;";varresult=connection.Query<testTable>(query);foreach(varpinresult){Console.WriteLine("ID:"+p.test_id+" 名称:"+p.name);}connection.Close();}

DapperExtensionを使ったInsertUpdate処理

ModelからInsert文やUpdate文を自動生成し、処理できます

Sql文を生成を変更します

DapperExtensionについて

DapperExtensions.DapperExtensions.SqlDialect=newDapperExtensions.Sql.SqliteDialect();
staticpublicvoid_dapperExtensionTest(){//Sql文を [testTable].[test_id]から [test_id]に変更するDapperExtensions.DapperExtensions.SqlDialect=newDapperExtensions.Sql.SqliteDialect();Mono.Data.Sqlite.SqliteConnectionconnection=newMono.Data.Sqlite.SqliteConnection();connection.ConnectionString=@"Data Source=パス/test.sqlite";connection.Open();//DapperExtensionを使った処理testTabletestTable1=newtestTable();testTable1.name="aaaaaa111";connection.Insert<testTable>(testTable1);varquery="select * from testTable;";varresult=connection.QueryFirst<testTable>(query);//DapperExtensionを使った処理result.name+="qqqq111";connection.Update<testTable>(result);connection.Close();}

Swaggerを自動生成にさせる

Stoplight Studioを使います。

本当に使ってよかったOpenAPI (Swagger) ツール

スクリーンショット 2020-04-07 21.53.05.png

開発にあたってのポイント

  1. Gtk2#はMono.Data.Sqliteを使う。Dapperと併用できた
  2. gtkのサンプルを探すのに苦労した。C# gtk hotexamples 調べたいメソッド名で調べるとgitに上がっているサンプルを一覧できるサイトが見つけることができた。
  3. モデルにDataMemberを追加し、DBのカラム名と変数名を紐づける(マッピング)

DataMapping

スクリーンショット 2020-04-09 13.42.35.png

後編に続く


Viewing all articles
Browse latest Browse all 9314

Latest Images

Trending Articles