哪个数据库Relationship比较好? (冗余或少加入)
Which database Relationship is better? (Redundancy or less Join)
我有五张学校桌子(例如),我使用 Entity Framework。
例如我想获得 "Book Name" 一条考试记录。
in "1":
I must Join "Exam" and "Teach" and "Book" to get name of Book.
int "2":
I must Join "Exam" and "Book" to get name of Book.
with 2 "Join" But we have redundancy.
哪个更好? 1 还是 2?
还有一个问题:
在“2”
"Join" 是更好还是使用这个?
第一步: 我从 ExamTable 中获取 BookId。
第二步: 我通过 BookId 从 BookTable 中获取 BookName
int BookId = db.Exams.Where(w => w.ExamId == 23).SingleOrDefault().BookId;
string BookName = db.Books.Where(w => w.BookId == BookId).SingleOrDefault().BookName;
没有人能告诉你哪个更好,因为这与用例本身有关。
但我建议您做的一件事是不要使用 Entity Framework 访问表,而是创建执行连接的视图并使用 EF 查询视图(甚至存储过程)。
这使得 EF 的使用更容易,并且视图的性能调整比调整 EF 查询更简单。
我有五张学校桌子(例如),我使用 Entity Framework。
例如我想获得 "Book Name" 一条考试记录。
in "1": I must Join "Exam" and "Teach" and "Book" to get name of Book.
int "2": I must Join "Exam" and "Book" to get name of Book. with 2 "Join" But we have redundancy.
哪个更好? 1 还是 2?
还有一个问题:
在“2”
"Join" 是更好还是使用这个?
第一步: 我从 ExamTable 中获取 BookId。
第二步: 我通过 BookId 从 BookTable 中获取 BookName
int BookId = db.Exams.Where(w => w.ExamId == 23).SingleOrDefault().BookId;
string BookName = db.Books.Where(w => w.BookId == BookId).SingleOrDefault().BookName;
没有人能告诉你哪个更好,因为这与用例本身有关。
但我建议您做的一件事是不要使用 Entity Framework 访问表,而是创建执行连接的视图并使用 EF 查询视图(甚至存储过程)。
这使得 EF 的使用更容易,并且视图的性能调整比调整 EF 查询更简单。