سؤال

إعطاء عبارة بسيطة، مثل:

<statement id="SelectProducts" resultMap="???">
  SELECT * FROM Products
</statement>

هل من الممكن الحصول على قائمة بكائنات القاموس حيث المفاتيح هي أسماء الأعمدة؟أي.

var list = Mapper.QueryForList<IDictionary<string,string>>("SelectProducts", null);

IDictionary<string, string> dict = list[0];
// dict["id"] == "1"
// dict["name"] == "Some Product Name"
// dict["price"] == "$9.99"
// etc.

أرغب في تعميم نتيجة الاستعلام للتعامل مع أي عدد من الأعمدة/أسماء الأعمدة دون التعيين إلى خصائص محددة في بعض الفئات.

أدرك أن المثال هنا سيفشل نظرًا لأن مجموعة النتائج قد تحتوي على أسماء أعمدة مكررة (أو فارغة).لقد فكرت في فئة النتائج التي تحتوي على قائمة مفهرسة لأزواج القيمة الرئيسية.الشيء الأساسي هنا هو الاحتفاظ بمعلومات العمود في مكان ما.

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

المحلول

يمكنك القيام بذلك عن طريق تعيين سمة الفئة على HashTable في تكوين resultMap.مزيد من التفاصيل المتاحة هنا.

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