C#でLINQを使ってデータベースに書き込みたい
- C#でデータベースにデータを書き込む方法を学ぶ
- LINQを使用してC#でデータベースにデータを書き込む手順を解説
- データベースのテーブルにidとhogeのデータを書き込むための具体的な方法を説明
- ベストアンサー
C#で、LINQを使ってデータベースに書き込みたい
C#で、LINQを使ってデータベースに書き込みたい LINQに関して、全くの初心者なのでお手柔らかにお願いします。 データベースのテーブル "A" の中身は、 id (string型) hoge (string型) 以上の二つ。 このテーブルに対して、データを書き込むには using (var db = new DataContext()) { db.Log = Console.Out; var storSales =db.A.Select(st => new { st.id, st.hoge }); } このような感じではないかと思いましたが、全然、分かりません。 SQLの構文も分からないのも、起因していますか・・・。 id と hoge にデータを書き込むには どのようにしたらいいでしょうか。 また、参考になりそうなWebページや、お勧めの参考書も教えてください。 以上、よろしくお願いします。
- xcode_15
- お礼率72% (93/129)
- その他(プログラミング・開発)
- 回答数1
- ありがとう数2
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
提示されたコードはデータの取得を行っているようですが、書き込みの方法ですよね? db.A.InsertOnSubmit(new A(){ id = "aaaa", hoge = "bbbb" }); db.SubmitChanges();
関連するQ&A
- LINQでn:nテーブルを階層オブジェクトに
お世話になっております。 表題のテーマについて、理解いただける方にアドバイスお願いします。 会員を表すMembersというテーブル、 種別を表すTypesというテーブル、 会員と種別を結び付けるMemberTypeBindsというテーブルがあって、会員・種別がn対nで定義されています。 Membersの件数は200件ほど、Typeは20件程度。だいたいMembersは1~5くらいのTypeに紐づいています。 Table Members int ID(主キー, autoIncrement) varchar(20) MemberName Table Types int ID(主キー, autoIncrement) varchar(20) TypeName Table MemberTypeBinds int memberID(外部キー, MembersのID) int typeID(外部キー, TypesのID) これを、LINQで下記のクラスオブジェクトに抽出したいと思っています。 今は全件表示でもいいですが、そのうちページングで表示する必要がでてくると思います。 public class MemberTypes { public Member member { get; set; } public List<Type> types { get; set; } } どうやるかがわかりません。LINQはこんな感じだと思うのですが、 public List<MemberTypes> GetMemberTypes(){ using (var dc = new DataContext()){ var result = dc.MemTypeBinds .GroupBy(mt=>mt.Member) // このあと、どうやったらいいかがわかりません。 // DBから階層化オブジェクトを生成するのは // けっこう頻出のテーマだと思うので、しっかりマスターしたいです。 }).ToList(); return result; } } LINQに詳しい方、お助けください。
- ベストアンサー
- SQL Server
- 複数のデータベースを使う場合
php4 + MYSQL4.0.2で作業しています。 1つのサーバーにある、複数のデータベースに接続する方法を教えてください。 DB1:テーブルhoge(ID、name) DB2:テーブルhogehoge(ID, hogeID, comment) このような場合、データベースが全てDB1に入っているとすれば、 $con = mysql_connect(host, user, pass); sql="SELECT name, comment" . " FROM hogehoge INNER JOIN hoge ON hogehoge.hogeID = hoge.ID"; $rst = mysql_db_query(DB1, $sql, $con); $col = mysql_fetch_array($rst); print($col['name'] . $col['comment']); となりますが、 テーブルhogeとhogehogeが、異なるデータベースに存在する場合はどのようにすればよいのでしょうか? 以上、よろしくお願いいたします。
- ベストアンサー
- MySQL
- 【C#】LINQについての質問です。
【C#】LINQについての質問です。 今、プログラミングLINQ(日経BP)の本を読んでいるのですが、わからないところがありましたので、お分かりの方に教えていただきたいです。 問題の場所は、P87のリスト3-43で、以下のコードです。 わからないのは、このコードの中で、ラムダ式のtとsが何にを指しているのかということです。 お分かりになる方、よろしくお願いいたします。 var expr = from c in customers join o in (from c in customers from o in c.Orders join p in products on o.IdProduct equals p.IdProduct select new { c.Name, o.IdProduct, o.Month, OrderAmount = o.Quantity * p.Price }) on c.Name equals o.Name into orders select new { c.Name, MaxOrder = orders .Aggregate( new { Amount = 0m, Month = String.Empty }, (t, s) => t.Amount > s.OrderAmount ? t : new { Amount = s.OrderAmount, Month = s.Month }) };
- ベストアンサー
- C・C++・C#
- C# LINQ 継承クラスに射影充填したい
LINQ for SQLで、DBDataContextにて以下のクラスが自動宣言されています。 public class Job { public ID { get; set; } その他大量のフィールドプロパティ(100個くらい) } で、これを継承する以下のクラスがあります。 public class JobE : Job { いくつかのプロパティ(100個くらい) } LINQ for SQLで、JobEインスタンスに充填したいです。 JobEで追加されたプロパティはすべて初期値でOKです。 using (var context = new DBDataContext()) { var jobE = context.Jobs .Where(j => j.xxx == yyy) .Select(j => new JobE { 現状はここに延々とプロパティを書き連ねています。 (JobE側のプロパティ = Job側のプロパティ) }); } あまりに馬鹿げていると思います。 もう少し賢い方法はないでしょうか?
- 締切済み
- C・C++・C#
- データベース化について
データベース化について お疲れ様です、データベース化について質問があります。 お客様にあることについてDB化について依頼を受けまして、 仕様はそちら側で決めてくれと言われました。 データベース化とは、ただ、テーブルにデータを入力するのが データベース化と言う事になるのでしょうか? 又、テーブルは場合によっては分けたほうが良いのでしょうか? よろしくお願いします。
- 締切済み
- その他(データベース)
- 異なるデータベースからのコピーを教えてください
異なるデータベースからのコピーを教えてください。 VBSにて下記のような作業を行いたいと思います。 例) A データベース A1 テーブル --------------------------------- B データベース B1 テーブル --------------------------------- 上記のようにAデータベースのA1テーブルから、BデータベースのB1のテーブルへ データをコピーする方法を教えてください。 参考となるキーワード等があれば教えてください。
- ベストアンサー
- Visual Basic
- [PHP]ループ内の配列取得、表示について
質問させていただきます。 データをDBから取得しwhileで全てのデータを配列として出力しているとします。 (whileの中で出力し、3つのデータがあるため3回ループされている) 結果 array(1) { [0]=> string(5) "17:10" } array(2) { [0]=> string(5) "17:10" [1]=> string(5) "17:25" } array(3) { [0]=> string(5) "17:10" [1]=> string(5) "17:25" [2]=> string(5) "11:15" } 現在の出力内容は、 var_dump[$hoge[0]] 出力結果 string(5) "17:10" string(5) "17:10" string(5) "17:10" var_dump[$hoge[1]] 出力結果 NULL string(5) "17:25" string(5) "17:25" var_dump[$hoge[2]] 出力結果 NULL NULL string(5) "11:15" という出力になっていますが、最後のarray(3)の部分だけを抜き出したいです。 その場合はどのようにすればよいのでしょうか? -理想の結果- 利用したいのはarray(3)の部分だけ。 var_dump[$hoge[0]] "17:10" var_dump[$hoge[1]] "17:25" var_dump[$hoge[2]] "11:15" 説明不足かもしれませんが、よろしくお願いいたしますm(_ _)m
- ベストアンサー
- PHP
- C# Linq To XML について
C#をつかって、XMLファイルを読み出し、値を検索しようとしていますが、ほしい情報をとることができません。もしわかる方がいましたら、ご回答よろしくおねがいします。 XMLは下記の形式で、このtableが4つ続いてあります。 <table> <row> <column name="Tests">Tests Textvalues</column> </row> <row> <column name="A">Id</column> <column name="B">Description</column> <column name="C">Value</column> </row> <row> <column name="A">1</column> <column name="B">no</column> <column name="C">34 25 E0</column> </row> <row> <column name="A">2</column> <column name="B">yes</column> <column name="C">34 25 E1</column> </row> </table> <table>.....つづく 下記のようなコードを書きました。 XElement xelement = XElement.Load(ファイルパス); IEnumerable<XElement> tables = xelement.Elements(); foreach (XElement table in tables) { var name = from nm in table.Elements("row") where (string)nm.Element("colmun").Attribute("B")== "no" select nm; foreach (var a in name) { Console.WriteLine(a); } } 残念ながら、このコードでは、nameの中身がからっぽです。 目的は、Bの値からCの値を検索することです。 以上、よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- データベースを複数作ったほうが良いでしょうか?
Win+Apache+PHP+MySQLで、自宅サーバを立てています。 データベース名:DB_A テーブル:Table_A データベース名:DB_B テーブル:Table_B とするべきか、 データベース名:DB_A テーブル:Table_A,Table_B とするべきか悩んでいます。 データベースについてあまり理解していないのですが、データベースを分けると何がどう変わるのでしょうか? (分けたほうが、高速化するのでしょうか?利点など教えていただければありがたいです。)
- 締切済み
- MySQL
お礼
ありがとうございます。 何とか書けました。