我有UserEntity
。此用户可以将ImageEntity
作为图库集合。
因此,为UserRepository
制作了UserContext
和UserEntity
,为ImageRepository
制作了ImageContext
和ImageEntity
。
将图片添加到用户的图库时,UserRepository
中的代码隐藏是使用ImageRepository
将图像添加到数据库(使用用户的GUID),然后只需将其添加到其集合中即可。
模特:
public class ImageEntity : IEntityBase
{
public DateTime DateCreated { get; set; } = DateTime.Now;
public Guid Id { get; set; } = Guid.Empty;
public bool isActive { get; set; } = true;
public string FullPath { get; set; } = "";
public Guid RelatedTo { get; set; } = Guid.Empty;
}
public class UserEntity: IEntityBase, IFileRelatableEntity
{
...
public ICollection<ImageEntity> RelatedFiles { get; } = new List<ImageEntity>();
}
用户回购:
public void AddRelatedFiles<T>(Guid p_guid, IEnumerable<IFormFile> p_files) where T : class, IEntityBase, IFileRelatableEntity
{
UserEntity user = GetSpecific<UserEntity>(p_guid);
string relatedWorkAppId = GetSpecific<UserEntity>(user.AssignedToWork).ApplicativeId;
foreach (var file in p_files)
{
// Add using the ImageRepo
ImageEntity relatedFile = m_fileRepository.AddRelatedFile(p_guid, "Users\\" + relatedWorkAppId, file);
// Add to the entity
user.RelatedFiles.Add(relatedFile);
}
}
问题:
这导致仅为与ImageEntity
相关的图像创建名为UserEntity
的SQL表。
JobEntity
)将导致创建另一个表。如何执行?:
relatedTo
ImageEntity
为FK?
.Include
的主表创建特殊表格,ImageEntity
?也许你有其他建议吗?