1
I했습니다 DB에 특정 유형의 요소를 추가, 업데이트 및 삭제를위한 도구를 제공합니다 다음 BLL 클래스 : 나는 자산과 DB에 새로운 요소를 추가 할 때삽입 후 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에 올바르게 저장되어 있지만 새 Asset() 생성자로 새로 추가 된 요소를 수집하려고하면 요소가 시퀀스에서 발견되지 않습니다.
도움이 매우 감사 할 것입니다!
빠른 수정, db.Assets가 아닌 db라고 말하고자하는 것 같습니다. _db와 같은 _db는 명시한대로 제거해야합니다. – Richard
@ 리차드, 맞습니다. 죄송합니다. 복사 및 붙여 넣기. : P – Jethro
@ Jethro, 빠른 답변 주셔서 감사합니다! 좋은 것을 남겨두기가 힘들다 '모든 것이 정치적으로 재사용된다. 다음 newb 질문 - 내가 영구적으로 _asset을 저장하려면 어떻게해야합니까? 자산에 대한 참조 만 저장하는 것으로 보이고 DC를 닫으면 참조가 사라집니다. – Marle1