دسته بندی ها
17:27 1398/10/29

خطا هنگام استفاده از دستور Select در Entity Framework Query String

مشخصات سوال کننده :
کاربر : Nori     امتیاز کاربر : 72     رتبه کاربر : 15
دسته بندی : WPF سی شارپ

به این سوال امتیاز بدهید    2
تعداد بازدید این سوال : 3359
پاسخ دهنده : saedbfd 17:38 1398/10/29

خب خطا چی هست؟

شما هیچ اشاره ای به خطا نکردید

لطفا سوال رو ویرایش کنید و خطا رو هم در انتها بنویسید

به این پاسخ امتیاز بدهید    0
امتیاز: 1654 رتبه: 1
پاسخ دهنده : Sowgandi 19:26 1398/10/29

سلام. این نوع سلکت که زدید مناسب اون خواسته ای که دارید نیست. از این حالت زمانی استفاده کنید که میخواهید کل ستون های یک ویو را انتخاب کنید. برای رفع این مشکل از روش زیر استفاده کنید.

var query = (from x in database.Vw_Users Select new {x.UserID , x.UserName});

داخل { } هر ستونی رو که خواستید داخل کوئری بیاد مثل نمونه بالا قرار بدید.

ویرایش شده در یکشنبه 29 دی 1398 ساعت 19:29:51
به این پاسخ امتیاز بدهید    0
امتیاز: 871 رتبه: 3
پاسخ دهنده : fateme 20:52 1398/10/29

شما توی کوئری خودتون از DataReader استفاده کردید. در DataReader شما که فیلدهای رو از Vw_Customer میگیره فیلدهایی وجود داره که در Select شما وجود نداره. برای این حالت باید به جای استفاده از Select به روش DataReader از دستورات EF استفاده کنید.

 

var query = (from u1 in database.Vw_user select new { u1.firstname, u1.family}).ToList();

به این ترتیب دیگه از قبل یک DataReader شامل اطلاعات و فیلدهای از قبل مشخص ایجاد نمی کنید و به راحتی میتونید کوئری خودتون رو اجرا کنید

به این پاسخ امتیاز بدهید    0
امتیاز: 1617 رتبه: 2
پاسخ دهنده : Sowgandi 09:34 1398/10/30

برای اینکه بتونید دو ستون یا بیشتر رو با هم ترکیب کنید از روش زیر استفاده کنید.

var query = (from x in database.Vw_Users Select new {x.UserID , x.UserName , Takmili = x.UserFamily +'-'+ x.UserTel});

 

ویرایش شده در دوشنبه 30 دی 1398 ساعت 09:37:16
به این پاسخ امتیاز بدهید    1
امتیاز: 871 رتبه: 3
پاسخ دهنده : Nori 11:57 1398/10/30

ممنون از دوستان 
لطف کردین وقت گذاشتین 
راستی سایت چرا اجازه نداد من دیروز پاسخ بدم به نظر دوستان 
هرکی جواب میداد باید میرفتم سوال رو ویرایش میکردم ؟

به این پاسخ امتیاز بدهید    2
امتیاز: 72 رتبه: 15
پاسخ دهنده : Nori 16:23 1398/11/18

اگه بخوایم هرسلکتی که تو اسکیوال میزنیم و جواب میده رو تو سی شارپ بزنیم چیکار باید کرد

 

الان میخوام همچین سلکتی رو بزم که توش از توابع اسکیوال و ... استفاده کردم باید به چه شکلی بزنم 

select Users, City ,SUM(Time) as IdTime , count(Id) as IDcount
from ViewUTime
where 1=1
GROUP BY Users, City

 

به این پاسخ امتیاز بدهید    1
امتیاز: 72 رتبه: 15
پاسخ دهنده : vahdat 17:34 1398/11/22

از نرم افزار Linqer 4.6 استفاده کن 

به این پاسخ امتیاز بدهید    3
امتیاز: 289 رتبه: 5
پاسخ دهنده : Nori 21:12 1398/11/22

عالی بود مرسی

کلی کارمو راحت کردین مرسی

به این پاسخ امتیاز بدهید    1
امتیاز: 72 رتبه: 15
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود