ใช้ DBContexts สองรายการแยกกันกับ DbTables ที่แตกต่างกันตั้งแต่สองตัวขึ้นไป

ฉันมีคำถามเมื่อไม่กี่วันที่ผ่านมาเกี่ยวกับวิธีสร้างความสัมพันธ์แบบกลุ่มต่อกลุ่มระหว่างตาราง Asp.Net Identity และตารางที่กำหนดเองของฉัน

นี่คือเธรดพร้อมคำตอบ: ถาม & ตอบ

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

ในคำตอบที่มีคนให้ฉันซึ่งเป็นวิธีแก้ปัญหา เขาบอกให้ฉันใช้ ApplicationDbContext เพื่อทำงานกับตาราง ฯลฯ

กลับมาที่สิ่งที่คนอื่นพูดกับฉัน ฉันต้องการแยกมือออกจาก ApplicationDbContext ซึ่งเป็นบริบทของ Identity และทำงานเฉพาะกับบริบทของฉันเองเท่านั้น

ใครสามารถให้วิธีแก้ปัญหาแก่ฉันในการเก็บข้อมูลนั้นได้หรือไม่ ขอบคุณ!


person Arianit    schedule 26.09.2016    source แหล่งที่มา
comment
จากมุมมองทางสถาปัตยกรรม วิธีที่ดีที่สุดคือจัดการข้อมูลผู้ใช้และข้อมูลธุรกิจแยกกัน นั่นเป็นเพียงคำพูดที่แสดงความคิดเห็นเล็กน้อย เว้นแต่คุณจะมีฐานข้อมูลขนาดใหญ่ ฉันจะยึดบริบทเดียว   -  person DavidG    schedule 26.09.2016
comment
เรามายึดติดกับความคิดที่ว่าฉันมีฐานข้อมูลขนาดใหญ่   -  person Arianit    schedule 26.09.2016
comment
คุณกำลังถามว่าจะใช้สองบริบทภายในแอปพลิเคชันเดียวกันได้อย่างไร   -  person Tim Reynolds    schedule 26.09.2016
comment
@TimReynolds ใช่และไม่ใช่ ดีกว่าบอกว่าให้ใช้บริบทของตัวเองเพื่อสร้างความสัมพันธ์กับตาราง AspNetUser และตารางของฉันเอง   -  person Arianit    schedule 26.09.2016
comment
@Arianit ขณะที่ DavidG ชี้ให้เห็นว่าคุณเก่งที่สุดกับบริบทเดียว อย่างไรก็ตาม หากคุณต้องการทำเช่นนี้ ขึ้นอยู่กับกรณีการใช้งานของคุณ สมมติว่าคุณต้องการใช้ลักษณะการทำงานความสัมพันธ์ของ EF ทั้งหมดสำหรับการโหลดรายการที่เกี่ยวข้องกับ User สิ่งที่ง่ายที่สุดที่คุณสามารถทำได้คือเพิ่มโมเดลผู้ใช้ที่คัดเลือกมากขึ้นให้กับบริบท หากคุณติดตาม DDD และอ่านทั้งสองอย่างเป็นบริบทที่มีขอบเขต คุณอาจสร้างตารางผู้ใช้อื่นพร้อมข้อมูลที่เกี่ยวข้องกับการใช้งานแอปพลิเคชันของผู้ใช้   -  person Tim Reynolds    schedule 26.09.2016
comment
@TimReynolds ที่สมเหตุสมผล คุณช่วยแสดงวิธีการพร้อมตัวอย่างให้ฉันหน่อยได้ไหม?   -  person Arianit    schedule 26.09.2016