私はlinq to sqlの新機能です。実際にレコードを削除する方法がわかりません。 linqでsqlを削除するには?
は、だから私は、彼らがNorthwindDataContext db = new NorthwindDataContext();
Product product = db.Products.Single(p => p.ProductName == "Toy 1");
product.UnitPrice == 99;
product.UnitsInStock = 5;
db.SubmitChanges();
を持っているために、彼らはだから私は、すべてを照会しなければならないの
NorthwindDataContext db = new NorthwindDataContext();
var toyProducts = from p in db.Producsts
where p.ProductName.Contains("Toy")
select p;
db.Products.RemoveAll(toyProducts);
db.SubmitChanges();
を持って削除
更新のためのでhttp://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx
このチュートリアルで見てそのレコードを削除するためにレコードを取得する時間?同様に、最初に更新するレコードを与えてから変更を加える必要があるので、更新でこれを行うことができます
あなたが削除したいものを送信して、それを削除してもいいのですか?なぜあなたはまずそれを入手して、それを削除するよう伝えなければならないのですか?
データベースに2ヒットはありませんか?
また、私は働くことを得ようとしている外部キーの関係があります。だから私はこれを持っている
これは失敗し、このメッセージは "添付されていないエンティティを削除することはできません。
私は新しいオブジェクトを作成し、TableBとTableCに関する情報を持つオブジェクトに何もないので、最初の2行がdeleteメソッドで失敗する理由を知ることができます。
私はしかし、なぜそこに2つの他の行があっても最後の行がまだ失敗するのを見ることができません。
私はそれが動作すると思ったように、渡されたテーブルAクラスのオブジェクトを取り込み、そこに含まれている情報のテーブルを調べます。しかし、そうではないようです。
私は最初に情報を取り出してから取得し、次に例のように削除する必要がありますか?
また、removeAll()とDeleteAllOnSubmit()の違いは何ですか?
私はlinqをSQLに慣れていないと言いました。座って時間制約のために本を読むことができませんでした。一度私は時間があれば、おそらく本を読むでしょう。
おかげで
私はこれを試しましたが、オブジェクトのすべての値を使用してレコードを検索しようとしているようです。行が見つからないか、変更されているとエラーが発生します。アイデア? – drizzie
@drizzie - あなたのエンティティインスタンスにのみキーを入れましたか? –
はい、私のコードはあなたと同じです。 – drizzie