دسته بندی ها
11:22 1399/11/25

خطای The data reader has more than one field error در انتیتی فریم ورک

مشخصات سوال کننده :
کاربر : MohammadH     امتیاز کاربر : 18     رتبه کاربر : 40
دسته بندی : WPF سی شارپ Entity Framework Sql Server

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 4406
2 نظر
fateme : شما کوئری خودتون رو عینا کپی کنید و توی Sql اجرا کنید. ببینید اونجا جواب میده ؟ اگر توی Sql جواب داد اون موقع به این فکر کنید که چجوری توی انتیتی فریم ورک اجرا بشه. چون شما از دستور Sum استفاده کردید و فکر مکینم به همراه Sum باید Group By هم باشه. احتمالا کوئری شما مشکل داره.

امتیاز کاربر : 1617   رتبه کاربر : 2   تاریخ ثبت : 03:58 1399/11/25
MohammadH : آره ببینید کوئری در اس کیو ال کامل اجرا میشه ولی ظاهرا انتیتی فریموک جوریه که باید حتما کلا اطلاعات جدول رو درخواست بدی , امکان اینکه تکی مثلا یک ستون رو بخوای نمیشه !

امتیاز کاربر : 18   رتبه کاربر : 40   تاریخ ثبت : 04:39 1399/11/25
پاسخ دهنده : hamid_b 15:54 1399/11/25

دلیل خطای The data reader has more than one field error در انتیتی فریم ورک

بنظرم بهتره از دستور ExcecuteStoreCommand استفاده کنی :

 

 var quer_Sumfactor5 = dbms.ExecuteStoreCommand("SELECT SUM(MEGHk) AS Meghksm, SUM(MABL_K) AS Mablksm, SUM(N_MOIN) AS N_MOINSM, SUM(IMBAA) AS IMBAAsm FROM INVO_LST WHERE(TAG = 2) AND (NUMBER = " + TextB_Number.Text + ")").ToList();

 

به این پاسخ امتیاز بدهید    0
امتیاز: 510 رتبه: 4
2 نظر
MohammadH : متشکرم ولی چرا انتیتی فریمورک نمیذاره ستون مشخص رو Select کنی ؟ تست کردم اومدم تک به تک خطا های ستون های این جدول ره که میداد به Select ام اضافه کردم تا رسید به همه ستون ها یعنی Select * From ایندفعه بدون خطا آورد یعنی نمیذاره یک ستون رو درخواست بدی !

امتیاز کاربر : 18   رتبه کاربر : 40   تاریخ ثبت : 04:41 1399/11/25
MohammadH : این دستور رو نتونستم استنفاده کنم خودتون تست کنید

امتیاز کاربر : 18   رتبه کاربر : 40   تاریخ ثبت : 05:39 1399/11/25
پاسخ دهنده : MohammadH 17:26 1399/11/25

لطفا این لینک ها رو برای اطلاع بیشتر ملاحظه بفرمایید 

https://stackoverflow.com/questions/66185837/how-do-i-select-specify-or-multi-column-with-sqlquery-in-c-sharp-wpf-entity-fr

https://www.quora.com/unanswered/How-do-you-select-specify-or-multi-column-with-SQLQuery-in-C-WPF-Entity-Framework

باتشکر از لطف شما

 

ویرایش شده در دوشنبه 27 بهمن 1399 ساعت 09:01:51
به این پاسخ امتیاز بدهید    0
امتیاز: 18 رتبه: 40
4 نظر
fateme : یکی از لینکهاتون کار نمیکنه. چرا شما برای نوشتن این کوئری از دستورات Linq استفاده نمی کنید ؟ بنظرم بهتره از Linq استفاده کنید و این همه خودتون رو درگیر دستورات SqlCommand نکنید.

امتیاز کاربر : 1617   رتبه کاربر : 2   تاریخ ثبت : 03:44 1399/11/26
MohammadH : SQL Query راحتره و اینکه در مواردی نسبت به LINQ بهتر عمل مکینه مخصوصا توی کوئری های پیچیده

امتیاز کاربر : 18   رتبه کاربر : 40   تاریخ ثبت : 09:02 1399/11/27
fateme : استفاده از دستورات Sql در انتیتی فریم ورک در نگاه اول چون مستقیما از خود Sql استفاده می کنید ساده است. اما قابلیت های خوبی توی انتیتی فریم ورک برای استفاده از این دستورات فراهم نیست. نمونه اش همین کوئری خودتون که در Sql Server کار میکنه ولی اینجا کار نمیکنه. شما خیلی راحت می تونید همین کوئری رو با دستور Linq بنویسید. سینتکس خیلی ساده ای هم داره.

امتیاز کاربر : 1617   رتبه کاربر : 2   تاریخ ثبت : 11:05 1399/11/27
MohammadH : متشکرم , ممنون میشم LINQ همین کوئری رو لطف بفرمایید

امتیاز کاربر : 18   رتبه کاربر : 40   تاریخ ثبت : 11:23 1399/11/27
ادامه نظرات ...
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود