1
我有以下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.Assets,不_db.Assets因为就像你说_db应该被删除。 – Richard
@Richard,这就是正确的,对不起,现在修复。复制和粘贴。 :P – Jethro
@Jethro,感谢您的快速答复!有点难以离开这个好酒吧'重新使用一切政治。然而,下一个newb问题 - 我如何永久保存_asset?它似乎只保存对资产的引用,并且当我关闭DC时,引用已经消失。 – Marle1