سؤال

لم أكن أعرف حقا كيفية صياغة العنوان.ولكن هذه هي مشكلتي.نحن نستخدم SqlCacheDependencies إلى التحديث ذاكرة التخزين المؤقت الكائنات.ولكن الاستعلام وراء ذلك هو "معقدة" نود أن تجعل من السهل إلى حد ما.

أول من فكر في إضافة fieldname مثل DateChanged واستخدام DateChanged للتحقق ما إذا كان الكائن قد تغير الواقع بدلا من تحميل جميع أعمدة الجدول.

SELECT DateChanged FROM Table1

بدلا من

SELECT Id, Title, DateChanged, Description FROM Table1

ولكن كنت آمل شخص يمكن أن يقول لي إذا كان هناك طرق أخرى للقيام بذلك أو إذا كانت هناك معايير تسمية العمود الذي يشير إلى تغيير.كيف هي الأطر مثل "إطار الوحدة" أو "NHibernate" التعامل مع هذا ؟

هل كانت مفيدة؟

المحلول

عادة ما يطلق عليه "الطابع الزمني"

أي في

نصائح أخرى

وهذه هي الأعمدة يمكنني استخدام على الكيانات "تدوين":

version: hibernate's optimistic concurrency control
createdBy: FK to users
modifiedBy: FK to users
createdAt: timestamp
modifiedAt: timestamp

إذا كنت على SQL Server تكون على علم يدعى مضلل إلى حد ما عمود الطابع الزمني. في حين أنها يمكن أن تستخدم لتعقب التغييرات إلى عمود، قيمته له علاقة مع التاريخ أو الوقت لا شيء. ويمكن اعتبار لuniqiue ID داخل قاعدة البيانات، لا شيء أكثر من ذلك. http://msdn.microsoft.com/en-us/library/aa260631. ASPX

في أجل معرفة ما إذا كان قد حدث تغير مكان تحتاج اثنين timstamps، كما هو الحال في الجواب cherouvim ل. تم تعيين واحد عندما يتم إنشاء كائن، والآخر على أي تعديل، وربما عبر الزناد التحديث. إذا كانت تختلف ثم تم تحرير الكائن، ولكن لا تستطيع ان تقول بالضبط متى.

في SQL Server الذي يجب أن تستخدم نفس النمط، ولكن مع أعمدة التاريخ والوقت. يمكنك بعد ذلك حساب تاريخ الصف عن طريق طرح تاريخ إنشاء من تاريخ وزارة الدفاع.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top