View Full Version : تکراری نبودن داده در LINQ مقایسه دو آیتم
vapa_71
جمعه 13 اردیبهشت 1392, 14:45 عصر
سلامن دوستان عزیزم من این کد رو دارم که داخل یکی از تایپیک ها مشاهده کردم و جواب داد اما مشکل اینجاست که این کد یک فیلد رو بررسی میکنه من میخوام 2 فیلد بررسی بشه مثال:
گروه آزمایش آزمایش
-------------------------------------
گروه1 ----- آزمایشa
گروه1 ----- آزمایشb
گروه2 ----- آزمایش a
یعنی شرط به این شکل بشه که گروه آزمایش و آزمایش یکسان وارد نشه
اینم کدی که من دارم
var db = new factorlinqDataContext();
bool isRegistered = db.Kalas.Any(i => i.kagr == comboBox1.Text);
if (!isRegistered)
{
//code sabt
}
_behnam_
جمعه 13 اردیبهشت 1392, 14:54 عصر
سوالتون واضح نیست !
khayyams.votary
جمعه 13 اردیبهشت 1392, 14:55 عصر
شما می خوای که این تکراری نبودن از طرف کووری حل بشه؟
یعنی که وقتی جواب برمیگرده هیچ رکورد هم شکلی نباشه یا اینکه فقط می خوای ی گزینه به شرط کووری اضافه بشه؟
vapa_71
جمعه 13 اردیبهشت 1392, 14:58 عصر
این کد که دادم بررسی میکنه اگه مثلا یه اسمی قبلا داخل بانک ذخیره شده پیغام میده که این اسم قبلا ذخیره شده حالا من میخوام مثلا هم اسم و هم فامیلی رو چک کنه اگه اسم و فامیلی یکسان وجود داشت این پیغام رو بده ولی اگه اسم مشابه بود ولی فامیلی مشابه نبود ذخیره کنه
مهدی هادیان2
جمعه 13 اردیبهشت 1392, 14:59 عصر
بسم الله الرحمن الرحیم
با سلام
به جای bool isRegistered = db.Kalas.Any(i => i.kagr == comboBox1.Text);
کد زیر رو امتحان کنید:
bool isRegistered = db.Kalas.Any(i => i.kagr == comboBox1.Text && i.PhoneNumber == this.txtPhoneNumber.Text);
vapa_71
جمعه 13 اردیبهشت 1392, 15:02 عصر
بسم الله الرحمن الرحیم
با سلام
به جای bool isRegistered = db.Kalas.Any(i => i.kagr == comboBox1.Text);
کد زیر رو امتحان کنید:
bool isRegistered = db.Kalas.Any(i => i.kagr == comboBox1.Text && i.PhoneNumber == this.txtPhoneNumber.Text);
دستتون درد نکنه عالی بود
مهدی هادیان2
جمعه 13 اردیبهشت 1392, 16:01 عصر
خواهش میکنم.
موفق باشید.
مهرداد صفا
جمعه 13 اردیبهشت 1392, 17:43 عصر
با سلام.
به نمونه کد زیر هم دقت کنید:
//بسم الله الرحمن الرحیم
//اللهم صل علی محمد و آله
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public struct Research:IEquatable<Research>
{
public int GroupNumber;
public int TestNumber;
public Research(int GroupNumber, int TestNumber)
{
this.GroupNumber = GroupNumber;
this.TestNumber = TestNumber;
}
bool IEquatable<Research>.Equals(Research other)
{
return ((this.GroupNumber == other.GroupNumber) & (this.TestNumber == other.TestNumber));
}
}
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
dataGridView1.Size = this.Size;
dataGridView1.Location = Point.Empty;
Research[] researches = new Research[8] {
new Research(1,1),new Research(1,2),new Research(1,3),
new Research(1,3),new Research(1,2),new Research(2,1),
new Research(2,3),new Research(2,2)};
dataGridView1.DataSource = (from reSearch in researches where reSearch.GroupNumber == 1 select new { Group = reSearch.GroupNumber, Test = reSearch.TestNumber }).Distinct().ToArray();
}
}
}
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.