У меня есть следующий класс BLL, который предоставляет инструменты для добавления, обновления и удаления элементов определенного типа в БД:
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;
}
}
Проблема возникает, когда я добавляю новый элемент в базу данных с помощью Asset.New (). Элемент правильно сохраняется в БД, но когда я пытаюсь собрать вновь добавленный элемент с новым конструктором Asset (), элемент не найден в последовательности.
Любая помощь будет очень признателен!