เป็นไปได้ไหมที่จะเปลี่ยนชื่อพหูพจน์ของตาราง LINQ

ตัวอย่างเช่น ชื่อตารางของฉันคือ "การวินิจฉัย" เมื่อฉันนำมันเข้าสู่โมเดล LINQ สู่ SQL มันพยายามหาวิธีแปลงมันให้เป็นพหูพจน์ และถือว่าชื่อเอนทิตีควรเป็น "การวินิจฉัย" อย่างไม่ถูกต้อง และชื่อที่ตั้งไว้ควรเป็น "การวินิจฉัย" ซึ่งอาจทำให้สับสนได้

เมื่อฉันเปลี่ยนชื่อเอนทิตีเป็น "การวินิจฉัย" ในคุณสมบัติ มันจะไม่เปลี่ยนชื่อชุด ดังนั้นตอนนี้ทั้งสองจึงเป็น "การวินิจฉัย" ซึ่งยิ่งสับสนมากขึ้น

ตามหลักการแล้ว ฉันต้องการควบคุมชื่อชุดและเปลี่ยนเป็น "วินิจฉัย" ฉันจะยอมให้ LINQ สุ่มสี่สุ่มห้าใช้การพหูพจน์ของมันและคิดบางอย่างเช่น "การวินิจฉัย" หรืออะไรสักอย่าง มีความคิดอะไรบ้าง?


person gfrizzle    schedule 07.01.2010    source แหล่งที่มา
comment
stackoverflow.com/questions/1467614/   -  person Jack Marchetti    schedule 07.01.2010


คำตอบ (2)


เท่าที่ฉันรู้ คุณสามารถเปลี่ยนชื่อตารางได้

เปิดตัวออกแบบแล้วคลิกตารางที่คุณต้องการเปลี่ยนแปลง คลิกอีกครั้งที่ชื่อตารางและควรอนุญาตให้คุณเปลี่ยนชื่อได้ สิ่งนี้จะไม่เปลี่ยนชื่อตารางฐานข้อมูลจริงเพียงเอนทิตีของคุณตามความรู้ที่ดีที่สุด

ข้อมูลเดียวกันนี้จะปรากฏในหน้าต่างคุณสมบัติหากคุณคลิกขวาที่ตารางและเลือกคุณสมบัติ คุณควรจะสามารถเปลี่ยนชื่อเอนทิตีที่แมปกับตารางของคุณที่นั่นได้เช่นกัน

person Ed Altorfer    schedule 08.01.2010
comment
ใช่ คุณสามารถเปลี่ยนชื่อตารางได้ แต่ LINQ ใช้อัลกอริธึมเพื่อค้นหาชื่อคอลเลกชัน หากชื่อตารางทางกายภาพของคุณคือ Authors LINQ จะพยายามช่วยเหลือโดยการตั้งชื่อเอนทิตี Author และตั้งชื่อคอลเลกชัน Authors ในกรณีของ Diagnosis จะเป็นการลบความคิดที่ว่านี่เป็นรูปพหูพจน์ของ Diagnosi ออกโดยไม่ได้ตั้งใจ เมื่อฉันเปลี่ยนชื่อตารางกลับเป็น Diagnosis อัลกอริธึมยังคงเรียกคอลเลกชัน Diagnosis ฉันต้องการควบคุมชื่อคอลเลกชัน - person gfrizzle; 08.01.2010

ฉันไม่รู้วิธีที่ดีในการทำเช่นนี้ แต่มีแนวคิดบางประการ:

  • หากคุณไม่ต้องเดินทางไปกลับสร้างโมเดลมากเกินไป คุณสามารถแทนที่ชื่อคลาสใน XML ที่สร้างขึ้นได้ (คลิกขวาที่ DBML แก้ไขในตัวแก้ไข XML)
  • คุณสามารถลองวางคลาสนี้ลงในโมเดลแยกต่างหากและรัน SQLMetal ด้วยตนเองได้ ไม่ใช่จากตัวออกแบบ VS (มันจะทำงานโดยปริยายเมื่อคุณบันทึกโมเดลจากตัวออกแบบ) ฉันคิดว่าคุณสามารถปิดการทำให้เป็นพหูพจน์ได้ด้วยตัวเลือกบรรทัดคำสั่ง
  • คุณสามารถได้รับมาจากคลาสที่ตั้งชื่อผิดและตั้งชื่อที่ถูกต้องเพื่อซ่อนปัญหาจากนักพัฒนา
person cdonner    schedule 07.01.2010