tbl_events
すべてのイベント ( ) に関連するすべてのオブジェクト ( )を提示するクエリを作成したいと考えていますtbl_objects
(関係タイプ — M:N)。
接続する 2 つのテーブルの外部キーのみを保持する接続テーブル (関連付けクラス) であるテーブルに問題があります。
たとえば、はtotbl_events
という名前の接続テーブルに接続されています。tbl_object_has_tbl_events
tbl_objects
接続されたテーブルの構造は次のとおりです。
tbl events has: eventID, eventName
tbl_object has: objectID, objectName
tbl_object_has_tbl_events: eventID, objectID
ここに私が書いてみたものがあります:
IList dataList = (from dEvent in App.glidusContext.tbl_events.
join dObject in App.glidusContext.tbl_objects
on dEvent.tbl_objects equals dObject.objectID
select new { dEvent.eventName, dObject.objectName}).ToList();
接続テーブルにアクセスできませんtbl_object_has_tbl_events
私の質問は、M:N の関係がある場合に、そのようなクエリをどのように実装できるかです。
ありがとう。
UPDATE多対多関係の生成:
-- -----------------------------------------------------
-- Table tbl_events
-- -----------------------------------------------------
CREATE TABLE tbl_events (
eventID INT NOT NULL IDENTITY,
eventName NVARCHAR(100) NOT NULL,
PRIMARY KEY (eventID));
-- -----------------------------------------------------
-- Table tbl_objects
-- -----------------------------------------------------
CREATE TABLE tbl_objects (
objectID INT NOT NULL IDENTITY,
objectName NVARCHAR(100) NOT NULL,
PRIMARY KEY (objectID));
-- -----------------------------------------------------
-- Table tbl_objects_has_tbl_events
-- -----------------------------------------------------
CREATE TABLE tbl_objects_has_tbl_events (
objectID INT NOT NULL,
eventID INT NOT NULL,
PRIMARY KEY (objectID, eventID),
CONSTRAINT fk_tbl_objects_has_tbl_events_tbl_objects
FOREIGN KEY (objectID)
REFERENCES tbl_objects (objectID)
ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT fk_tbl_objects_has_tbl_events_tbl_events
FOREIGN KEY (eventID)
REFERENCES tbl_events (eventID)
ON DELETE CASCADE ON UPDATE CASCADE);