PDA

View Full Version : دستور چک کردن مقدار تکراری entity framwork



unrealword
شنبه 10 خرداد 1393, 16:33 عصر
tacEntities1 te = new tacEntities1();
var p = (from target in te.tactoolsposts
where target.urlposts==urls
select target).Count();

if (p=!null)
....



من با دستور بالا میام برای ثبت هر رکورد چک می کنم ببینم اطلاعات تکرای تو رکورد نباشه
وقتی مقداری باشه 0 اطاعات رو ثبت کنه
الان رو مقدار نال و صفر خطا می ده
ممنون می شم راهنمایی فرمایید

khokhan
شنبه 10 خرداد 1393, 17:36 عصر
tacEntities1 te = new tacEntities1();
var p = (from target in te.tactoolsposts
where target.urlposts==urls
select target).Count();

if (p=!null)
....



من با دستور بالا میام برای ثبت هر رکورد چک می کنم ببینم اطلاعات تکرای تو رکورد نباشه
وقتی مقداری باشه 0 اطاعات رو ثبت کنه
الان رو مقدار نال و صفر خطا می ده
ممنون می شم راهنمایی فرمایید

.................................................. ................................

var author = publishContext.Authors.Where
(a=>a.AuthodSSID == 10).FirstOrDefault();
if(author == null)
{
Author newAuthor = new Author();
newAuthor.FirstName = firstName.Text;
newAuthor.LastName = lastName.Text;
newAuthor.AuthodSSID = 20;
newAuthor.AuthorID = 10
publishContext.AddToAuthor(newAuthor);
}

unrealword
شنبه 10 خرداد 1393, 18:24 عصر
tacEntities1 te = new tacEntities1();
var p = te.tactoolsposts.Where(a => a.urlposts == urls).FirstOrDefault();
if (p == null)
{
MessageBox.Show("null");
links.Add(urls);
}





من این رو نوشتم این خطا رو می ده

An error occurred while executing the command definition. See the inner exception for details.

r4hgozar
شنبه 10 خرداد 1393, 20:55 عصر
سلام.
البته بگم که من از پروسیجر ها استفاده می کنم.

dbTestEntities2 db= new dbTestEntities2();

private void button1_Click(object sender, EventArgs e)
{
if (db.tbl_Book.Any(p=>p.name==txt_name.Text))
MessageBox.Show("داده تکراری است");
else {
db.sp_Insert(txt_name.Text,txt_Date.Text,txt_Tedad .Text,txt_Writer.Text);
db.SaveChanges();
dgw2.DataSource = db.SPselect();
}
}

unrealword
شنبه 10 خرداد 1393, 21:36 عصر
سلام.
البته بگم که من از پروسیجر ها استفاده می کنم.

dbTestEntities2 db= new dbTestEntities2();

private void button1_Click(object sender, EventArgs e)
{
if (db.tbl_Book.Any(p=>p.name==txt_name.Text))
MessageBox.Show("داده تکراری است");
else {
db.sp_Insert(txt_name.Text,txt_Date.Text,txt_Tedad .Text,txt_Writer.Text);
db.SaveChanges();
dgw2.DataSource = db.SPselect();
}
}



An error occurred while executing the command definition. See the inner exception for details.

این خطا رو می ده

unrealword
یک شنبه 11 خرداد 1393, 19:44 عصر
دوستان یکی راهنمایی کنه

Mahmoud.Afrad
سه شنبه 13 خرداد 1393, 17:49 عصر
اولا علامت نامساوی رو اشتباه نوشتی !=

دوما اگر نتیجه سلکت داخل پرانتز null باشه نمیتونی ازش count بگیری پس گرفتن count درست نیست.

یا همون داخل پرانتز و مقایسه با null

tacEntities1 te = new tacEntities1();
var p = from target in te.tactoolsposts
where target.urlposts == urls
select target;

if (p != null)
{

}

یا با متد Any چک کن

tacEntities1 te = new tacEntities1();
var p = from target in te.tactoolsposts
where target.urlposts == urls
select target;

if (p.Any())
{

}

dehqhani
دوشنبه 16 تیر 1393, 17:45 عصر
با دستور زیر خیلی راحت با linq میتونی چک کنی



var obj = new kalaDataContext();
//barrasi adam tekrari boden
if (obj.tb_kala.Any(u => u.id == txtid.Text))
{

ErrorPanel.Visible = true;
lb_error.Text = "شماره وارد شده تکراری می باشد ، لطفا کد دیگری انتخاب نمایید ";
return;
}