1
私は、DB内の特定の型の要素を追加、更新、および削除するためのツールを提供し、次のBLLクラスを、しました:挿入後にDataContextコレクションが更新されないのはなぜですか?
public class Asset
{
private Data.DicDataContext _db;
public Asset(int assetID)
{
_db = new Data.DicDataContext();
_asset = _db.Assets.First(a => a.id == assetID);
}
public static Asset New(int assetTypeID, int containerID)
{
Asset nAsset;
using (Data.DicDataContext db = new Data.DicDataContext())
{
Data.Asset asset = new Data.Asset();
asset.typeID = assetTypeID;
asset.containerID = containerID;
asset.createdDate = DateTime.Now;
Data.User user = (Data.User)db.Users.First(u => u.id == Convert.ToInt32(HttpContext.Current.Session["user"]));
user.Assets.Add(asset);
db.SubmitChanges();
nAsset = new Asset(asset.id);
}
return nAsset;
}
}
私は資産をDBに新しい要素を追加するときに問題が発生します。新しい()。要素はdbに正しく保存されますが、新しいAsset()コンストラクタで新しく追加された要素を収集しようとすると、その要素はシーケンス内に見つかりません。
非常に参考になります。
ただちに修正すると、あなたが言ったように_db.Assetsではなく_db.Assetsと言うことを意味していたと思います。 – Richard
@リチャード、それは正しい、申し訳ありません今修正します。コピー&ペースト。 :P – Jethro
@Jethro、あなたの迅速な答えに感謝!良いolを残すのは難しいですが、すべて政治的なものを再利用しています。次のnewb質問 - どうすれば永久に_assetを保存できますか?アセットへの参照を保存するように見えるだけで、DCをクローズすると参照はなくなります。 – Marle1