PDA

View Full Version : سوال: جست و حو با entity



InvBoy01001
چهارشنبه 13 اسفند 1393, 13:41 عصر
سلام من یه کد با c# و دیتابیس sql نوشتم و برای اولین بار از entity استفاده کردم.
مشکل اینجاست که می خوام توو یکی از تیبل هام با وارد کردن name ، بتونه یکی دیگه از فیلد های همون تیبل را پیدا کنه.
مثلا اسم = ali ،
verage = 4
من می خوام با search کلمه ali عدد 4 توو یک تکت باکس نمایش بده

SabaSabouhi
چهارشنبه 13 اسفند 1393, 16:10 عصر
سلام من یه کد با C#‎ و دیتابیس sql نوشتم و برای اولین بار از entity استفاده کردم.
مشکل اینجاست که می خوام توو یکی از تیبل هام با وارد کردن name ، بتونه یکی دیگه از فیلد های همون تیبل را پیدا کنه.
مثلا اسم = ali ،
verage = 4
من می خوام با search کلمه ali عدد 4 توو یک تکت باکس نمایش بده

سلام
مشکل اصلی اینه که بدون مطالعه شروع به استفاده از EF کردی.


var item = myContext.MyTable.FirstOrDefault( x=>x.Name == name );

حالا اگه مقدار برگشتی null بود که وجود نداشته و اگه مقدار داشت، کل رکورد رو برات آورده، حالا با هر کدوم
از فیلدها‌ هر کاری خواستی بکن.

صبا صبوحی

InvBoy01001
شنبه 16 اسفند 1393, 12:45 عصر
دوستان من نمیدونم چی کار باید انجام بدم تا بقیه اطلاعات همین سطر را بهم نشون بده

var item = database.stuffs.FirstOrDefault(x => x.stuffname == wordd[how, i]); if (item != null) {
}

1000net
شنبه 16 اسفند 1393, 14:16 عصر
دوستان من نمیدونم چی کار باید انجام بدم تا بقیه اطلاعات همین سطر را بهم نشون بده

var item = database.stuffs.FirstOrDefault(x => x.stuffname == wordd[how, i]); if (item != null) {
}
سلام شما با کمک item که تعریف کردین به اطلاعات میتونین دسترسی داشته باشین مثلا:


textbox1.text=item.id,
یا مثلا
textbox1.text=item.name,

SabaSabouhi
شنبه 16 اسفند 1393, 18:58 عصر
دوستان من نمیدونم چی کار باید انجام بدم تا بقیه اطلاعات همین سطر را بهم نشون بده

var item = database.stuffs.FirstOrDefault(x => x.stuffname == wordd[how, i]); if (item != null) {
}

سلام
1. وقتی متنی رو اینجا Paste می‌کنی دقت کن خوانا باشه، اینطوری خواندن متن کپی شده‌ی شما خیلی خسته کننده هست.
2. EF برای هر جدول یک کلاس درست می‌کنه که معادل یک سطر از اطلاعات جدول هست. وقتی با FirstOrDefault یک رکورد رو می‌گیری
معادل تمام ستون‌های جدول، Property تو اون کلاس داری و همونطور که دوستمون 1000net تو پست خودش نوشته، شما می‌تونی به اون
فیلدها دسترسی داشته باشی.

صبا صبوحی

InvBoy01001
یک شنبه 17 اسفند 1393, 09:01 صبح
ممنون من این کاری که گفتید انجام دادم ولی این ارورر میده
LINQ to Entities does not recognize the method 'System.String Get(Int32, Int32)' method, and this method cannot be translated into a store expression.

SabaSabouhi
یک شنبه 17 اسفند 1393, 09:31 صبح
ممنون من این کاری که گفتید انجام دادم ولی این ارورر میده
LINQ to Entities does not recognize the method 'System.String Get(Int32, Int32)' method, and this method cannot be translated into a store expression.

سلام
فرمان‌های LinQ برای اجرا به فرمان‌های SQL تبدیل می‌شن. SQL قادر به شناسایی آرایه‌ی دوبعدی شما نیست. کافیه مقدار اون آرایه رو توی یک متغیر محلی بریزی و
بعد فرمان LinQ رو اجرا کنی.


var myWord = wordd[how, i];
var item = database.stuffs.FirstOrDefault( x=> x.stuffname == myWord );


صبا صبوحی