[英]EF6 many-to-many table with additional date column
我在数据库优先模式下使用表User
来使用EF6。
我希望用户能够通过使用委托与其他用户共享其个人资料。 为此,我定义了一个具有两列的表UserDelegation
: IdUser
和IdDelegatedUser
。 到这里为止,一切都按预期进行。
现在,我想添加一列用于在UserDelegation
表中存储日期。 问题是:我无法在UserDelegation
实体中调用此属性,因为该实体UserDelegation
不可见。 因此,我不知道在哪里可以找到我的新房产。
我想知道是否有解决此问题的方法或此体系结构是否错误?
这是我根据您的描述得到的-您可以尝试删除EDMX中的实体,然后尝试重新生成它。
我对您所说内容的解释:
DbContext
public List<UserProfile> GetProfiles()
{
using (var ctx = new UserDatabaseEntities())
{
var ret = ctx.UserProfiles.Include("UserDelgations").Select(p => p).ToList();
return ret;
}
}
的SQL
CREATE TABLE [dbo].[UserDelgations] (
[UserProfileId] UNIQUEIDENTIFIER NOT NULL CONSTRAINT FK_UserProfiles_UserProfileId FOREIGN KEY REFERENCES dbo.UserProfiles (Id) ON DELETE CASCADE,
[UserProfileDelgationId] UNIQUEIDENTIFIER NOT NULL,
[AuditDate] DATETIME NOT NULL default(getutcdate()),
) Go
ALTER TABLE [dbo].[UserDelgations] ADD CONSTRAINT PK_UserDelgations PRIMARY KEY ([UserProfileId] ASC, [UserProfileDelgationId] ASC) GO
CREATE TABLE [dbo].[UserProfiles] (
Id uniqueidentifier NOT NULL constraint PK_UserProfiles primary key nonclustered (Id) constraint DF_UserProfiles_Id default(newid()),
UserName NVARCHAR(1024) NOT NULL,
CreatedBy NVARCHAR(256) NOT NULL default(SYSTEM_USER),
CreatedDate DATETIME NOT NULL default(getutcdate()),
) Go
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.