[英]create sql table in SQLServer with the name of the current session variable c#
[英]Create a table in SQL Server where the name is a variable in C#?
使用Visual Studio和SSMS。
我有一個用戶注冊用戶名的表單,它的存儲方式如下:
List<SqlParameter> sqlNewTable = new List<SqlParameter>();
sqlNewTable.Add(new SqlParameter("Username", txtUser.Text));
DAL.ExecSP("CreateUserCourses", sqlNewTable);
從那里,我可以創建一個名為CreateUserCourses
的存儲過程,在其中創建一個新表,用戶在其中輸入(他們的用戶名)是新表的名稱嗎?
當然可以,但是為什么呢?
假設您有一個User
表和一個Course
表。 然后只需制作第三個表即可將這些表映射在一起,稱為UserCourses
。 這稱為“多對多”(映射表),它將包含User
和Course
的ID以及其他任何相關信息。
這將使您的生活更加輕松
多對多關系是一種基數,是指兩個實體1 A和B之間的關系,其中A可能包含一個父實例,而B中有許多子對象,反之亦然。
例如,將A視為作者,將B視為書籍。 作者可以寫幾本書,一本書可以由幾位作者寫
例
student: student_id, first_name, last_name
classes: class_id, name, teacher_id
student_classes: class_id, student_id // mapping table
SQL查詢可能看起來像這樣
讓所有學生上課
SELECT s.student_id, last_name
FROM student_classes sc
INNER JOIN students s ON s.student_id = sc.student_id
WHERE sc.class_id = X
為學生准備所有課程
SELECT c.class_id, name
FROM student_classes sc
INNER JOIN classes c ON c.class_id = sc.class_id
WHERE sc.student_id = Y
實體框架查詢可能看起來像這樣
讓所有學生上課
var students = db.Students.Where(x => x.StudentClasses
.Any(y => y.ClassId == 1);
為學生准備所有課程
var classes = db.classes.Where(x => x.StudentClasses
.Any(y => y.StudentId == 1);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.