मैंने ईएफ 6, एसिंक विधियों में एक नई सुविधा देखी है। मुझे एक उदाहरण मिलता है।ईएफ में इन दो एसिंक कॉल के बीच क्या अंतर है?
यह पहला रास्ता, सामान्य कॉल है, उदाहरण के लिए EF5 साथ:
public Store FindClosestStore(DbGeography location)
{
using (var context = new StoreContext())
{
return (from s in context.Stores
orderby s.Location.Distance(location)
select s).First();
}
}
और EF6 में async विधि के साथ नई कॉल,।
public async Task<Store> FindClosestStore(DbGeography location)
{
using (var context = new StoreContext())
{
return await (from s in context.Stores
orderby s.Location.Distance(location)
select s).FirstAsync();
}
}
हालांकि, मैं निम्न कर सकते हैं (Syntaxis aprox है, मैं इसे स्मृति से करते हैं):
public async Task<Store> MyAsyncMethod(DbGeography location)
{
return await Task.Run(() => FindClosestStore());
}
मेरा मतलब है, कि मैं Task.Run उपयोग कर सकते हैं पहली विधि कॉल करने के लिए, परिणाम का इंतजार करने के लिए कोई एसिंक नहीं है। फिलहाल, जिस तरह से मैं एसिंक को किसी भी विधि को कॉल करने के लिए उपयोग करता हूं, न केवल ईएफ। यह एक एसिंक कॉल भी है या वास्तव में एसिंक कॉल है जब मैं ईएफ 6 एसिंक विधि का उपयोग करता हूं?
ईएफ 6 के नए संस्करण में एसिंक तरीकों की आवश्यकता क्यों है? केवल सादगी के लिए?
async और प्रतीक्षा सिंटेक्टिकल चीनी हैं, नेट 4.5 में नया, आप –