PDA

View Full Version : سوال: آخرین رکورد ثبت شده در دیتابیس



sasanazizi2
سه شنبه 25 تیر 1392, 12:02 عصر
با سلام
دوستان بنده میخواستم آخرین رکورد ثبت شده در جدولم رو با استفاده از LINQ بدست بیارم. در ضمن ستون ID هم دارم که به صورت خودکار مقدار دهی میشه (به ازای هر رکورد یک واحد به آن اضافه میشود!)
اگه ممکنه کمکم کنید ...

hramezani
سه شنبه 25 تیر 1392, 12:18 عصر
سلام

dc.tbl.InsertOnSubmit(recorde1);
dc.SubmitChanges();
return dc.id;

sasanazizi2
سه شنبه 25 تیر 1392, 12:30 عصر
من میخوام اخباری که در یک صفحه توسط اپراتور وارد میشن، جدیدترینشون (آخرین) رو در یک صفحه ی دیگه نمایش بدم !
با این روش میشه انجامش داد؟!
ممنون

sasanazizi2
سه شنبه 25 تیر 1392, 12:30 عصر
سلام

dc.tbl.InsertOnSubmit(recorde1);
dc.SubmitChanges();
return dc.id;


من میخوام اخباری که در یک صفحه توسط اپراتور وارد میشن، جدیدترینشون (آخرین) رو در یک صفحه ی دیگه نمایش بدم !
با این روش میشه انجامش داد؟!
ممنون

hramezani
چهارشنبه 26 تیر 1392, 12:10 عصر
سلام
نه این آخرین identity رو برمیگردونه
شما باید از order by استفاده کنید
کد زیر ده تا رکورد آخر رو میده

var q=(from o in db.tbl1
order by o.id
select o
).take(10);

اگه میخواین جواب مناسب بگیرین لطفا نمونه کد خودتون رو بذارین تا بقیه کاملش کنن.
اینطوری وقتی ما ساختار جدول و خروجی مد نظر رو نمیدونیم یه کوئری حدسی مینویسم.

sasanazizi2
شنبه 29 تیر 1392, 14:13 عصر
protected tblNews GetLastNews()
{
var seleclastnews = (from n in database.tblNews
orderby n.NewsID descending
select n);
return seleclastnews.FirstOrDefault();
}


ممنون از کسایی که کمک کردن ، پیداش کردم خودم.

aliramazani
سه شنبه 22 مرداد 1392, 21:53 عصر
به دستور foreach ارور میده با این روش

Mahmoud.Afrad
چهارشنبه 23 مرداد 1392, 00:07 صبح
به دستور foreach ارور میده با این روش
FirstOrDefault یک آبجکت برمیگردونه پس نیازی به استفاده از foreach نیست. اگر به جای FirstOrDefault تعدادی رو take کنید اون موقع باید از حلقه استفاده کنید.

ali_autumnal
چهارشنبه 23 مرداد 1392, 13:26 عصر
شما پس از ذخیره رکورد جدید دستور زیر رو اجرا کنید تا آخرین آی دی رو واستون بخونه


int PageId = context.PageModels.Max(p => p.PageId);

Mahmoud.Afrad
چهارشنبه 23 مرداد 1392, 18:37 عصر
شما پس از ذخیره رکورد جدید دستور زیر رو اجرا کنید تا آخرین آی دی رو واستون بخونه

int PageId = context.PageModels.Max(p => p.PageId);
اگر بحث بدست آوردن آیدی رکورد جدید باشه نیازی به این نیست که آخرین آیدی رو بدست بیارید. کافیه بعد از درج در جدول ، بلافاصله آیدی رو بخونید:

tbl t = new tbl()
{
// ...
};
db.tbl.AddObject(t);
db.SaveChanges();
// here read id
MessageBox.Show(t.Id.ToString());