আমি কি একটি লিনকিউ প্রবেশের পরে 'আইডি' ক্ষেত্রটি ফিরিয়ে দিতে পারি?


182

আমি যখন লিনক-টু-এসকিউএল দিয়ে ডিবিতে কোনও বস্তু প্রবেশ করি তখন আমি কী অন্য আইডি কল না করে সন্নিবেশ করানো আইডিটি পেতে পারি? আমি ধরে নিচ্ছি যে এটি বেশ সহজ, আমি কীভাবে তা জানি না।

উত্তর:


266

আপনি আপনার ডিবিতে প্রতিশ্রুতিবদ্ধ হওয়ার পরে অবজেক্টটি তার আইডি ক্ষেত্রে একটি মান পায় receives

তাই:

myObject.Field1 = "value";

// Db is the datacontext
db.MyObjects.InsertOnSubmit(myObject);
db.SubmitChanges();

// You can retrieve the id from the object
int id = myObject.ID;

2
এটি কাজ করার জন্য আপনাকে আপনার ক্ষেত্রটি "ডাটাবেস উত্পন্ন" এবং "সন্নিবেশতে আপডেট করা" কাজ করতে হবে set
স্যাম

1
আমি সি # 4.0 এ কিভাবে করব ?? কোন sertোকানো বা জমা পরিবর্তন নেই ??
ব্যাট_প্রোগ্রাম

1
@ কনফিউজড প্রোগ্রামার - এটি একই, তবে কনটেক্সট.ক্লাকশন.এড () এবং সেভচেনজেস ()
নাসপিনস্কি

আচরণটি ডিবি নির্দিষ্ট হতে পারে। এসকিউএলাইট ব্যবহার করার সময় এর ফলে আইডি পপুলেশন হয় না।
ড্যানভার

আমি এটি আগে ব্যবহার করেছি, তবে কীভাবে এটি একটি মাল্টিলেশনশিপ টেবিলগুলিতে তৈরি করবেন? আমাকে কি প্রধান টেবিলগুলি সংরক্ষণ করতে হবে প্রথমে উভয়ের কাছ থেকে আইডি এবং তারপরে উভয় আইডিটিকে সম্পর্কের টেবিলে সংরক্ষণ করতে হবে?
সাইবারনিজা

15

উত্পাদিত আইডি tingোকানোর সময় অবজেক্টটি সংরক্ষণের ক্ষেত্রে সংরক্ষণ করা হয় (নীচে দেখুন):

protected void btnInsertProductCategory_Click(object sender, EventArgs e)
{
  ProductCategory productCategory = new ProductCategory();
  productCategory.Name = Sample Category”;
  productCategory.ModifiedDate = DateTime.Now;
  productCategory.rowguid = Guid.NewGuid();
  int id = InsertProductCategory(productCategory);
  lblResult.Text = id.ToString();
}

//Insert a new product category and return the generated ID (identity value)
private int InsertProductCategory(ProductCategory productCategory)
{
  ctx.ProductCategories.InsertOnSubmit(productCategory);
  ctx.SubmitChanges();
  return productCategory.ProductCategoryID;
}

তথ্যসূত্র: http://blog.jemm.net/articles/datedias/how-to-common-data-patterns-with-linq-to-sql/#4


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.