我有2個表格,tblUsers
和tblChat
。加入查看多個表格中的模型
向tblUsers
[Id] INT IDENTITY (1, 1) NOT NULL,
[FirstName] NVARCHAR (50) NULL,
[LastName] NVARCHAR (50) NULL,
[EmailAddress] NVARCHAR (100) NULL,
[Username] NVARCHAR (50) NULL,
[Password] NVARCHAR (50) NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
tblChat
[Id] INT IDENTITY (1, 1) NOT NULL,
[From] NVARCHAR (50) NULL,
[To] NVARCHAR (50) NULL,
[Message] NVARCHAR (MAX) NULL,
[DateSent] DATETIME2 (7) NULL,
[Read] BIT NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
我也有各自的DTO:
UserDTO
[Table("tblUsers")]
public class UserDTO
{
[Key]
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string EmailAddress { get; set; }
public string Username { get; set; }
public string Password { get; set; }
}
ChatDTO
[Table("tblChat")]
public class ChatDTO
{
[Key]
public int Id { get; set; }
public string From { get; set; }
public string To { get; set; }
public string Message { get; set; }
public DateTime DateSent { get; set; }
public bool Read { get; set; }
[ForeignKey("From")]
public virtual UserDTO FromUsers { get; set; }
[ForeignKey("To")]
public virtual UserDTO ToUsers { get; set; }
}
我也有一個chat view model
,我用中檢索所有從tblChat
表肚裏像這樣的行:
public class ChatVM
{
public ChatVM()
{
}
public ChatVM(ChatDTO row)
{
Id = row.Id;
From = row.From;
To = row.To;
Message = row.Message;
DateSent = row.DateSent;
Read = row.Read;
}
public int Id { get; set; }
public string From { get; set; }
public string To { get; set; }
public string Message { get; set; }
public DateTime DateSent { get; set; }
public bool Read { get; set; }
}
的問題是,ChatVM
是不夠的,我需要有更多的屬性基於users
表。
的from
酒店距離users
表uniqye用戶名,我需要在包含from
的身份證,名字和姓氏的ChatVM
3個屬性。
基本上類似如下(被修改ChatVM
)
public class ChatVM
{
public ChatVM()
{
}
public ChatVM(ChatDTO row)
{
Id = row.Id;
From = row.From;
To = row.To;
Message = row.Message;
DateSent = row.DateSent;
Read = row.Read;
FromId = ???;
FromFirstName = ???;
FromLastName = ???;
}
public int Id { get; set; }
public string From { get; set; }
public string To { get; set; }
public string Message { get; set; }
public DateTime DateSent { get; set; }
public bool Read { get; set; }
public int FromId { get; set; }
public string FromFirstName { get; set; }
public string FromLastName { get; set; }
}
這與這個問題有什麼關係? –