0
我有一個問題,我會用同樣的DbContext的多種方法,例如:使用相同的DbContext在多個方法
public class Communication
{
public Response AddCommunication(Commnucation myComm)
{
using(MYDB dbContenxt = new MYDB())
{
DBCOMMUNICATION dbComm = new DBCOMMUNICATION
{
ID = myComm.Id,
NAME = myComm.Name,
SUBJECT = myComm.Subject,
MESSAGE = myComm.Message
};
if(myComm.Images != null && myComm.Images.Count > 0)
{
foreach(var image in Images)
{
IMAGES dbImages = new IMAGES
{
ID_COMMUNICATION = myComm.Id,
NAME = image.Name,
VALUE = image.Value
};
dbContext.IMAGES.add(dbImages);
}
}
if(myComm.Attachments != null && myComm.Attachments.Count > 0)
{
foreach(var image in Images)
{
same work .......
}
}
dbContext.SaveChanges();
}
.......
.......
}
}
我會提取使用foreach循環的方法,例如:
if(myComm.Images != null && myComm.Images.Count > 0)
{
AddImages(myComm);
}
和方法AddImages我會使用相同的dbContext進行添加,但僅在AddCommunication中使用SaveChanges。 這是最佳做法嗎?爲dbContext使用單例模式?請幫幫我。謝謝併爲我的英語不好而感到抱歉。
通行證的DbContext作爲參數傳遞給該新方法(AddImages)。 – Evk
我讀過關於不是很好的做法的stackoverflow,因爲性能方面的原因 – pampua84
因爲性能原因,它不會壞,因爲它不會以任何方式影響性能。你現在只是做同樣的事情,但將部分功能提取到不同的方法。你不是在創造新的背景或類似的東西。 – Evk