小编Vik*_*tor的帖子

您应该如何处理存储库模式中的父实体和子实体?

我正在制作一个图像网站,我想知道如何构建我的Linq to Sql存储库中的Create/Update方法?

我有一个Photo实体,结构如下:

public class Image
{
    public int ID { get; set; }
    public int OwnerId { get; set; }
    public string Url { get; set; }
    public IEnumerable<Tag> Tags { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我有以下表格:图像,标签,ImageTag

现在,我想知道当我在ImageRepository中调用我的CreateImage方法时,我是否还应该在Tags表中创建Tags并在ImageTag表中进行映射?

同样,当我调用UpdateImage时,我应该检查标签是否已更改,如果他们已经删除了ImageTag表中的条目并添加了不同的条目(以及可能在标签表中添加新标签)?

或者这两个用例是否应该在单独的存储库调用中发生?

基本上,这个父/子,一对多关系如何在典型的linq到sql存储库中处理?

c# repository-pattern linq-to-sql

5
推荐指数
1
解决办法
1274
查看次数

我在哪里可以将电子邮件和userId存储在我的ASP.NET MVC应用程序中,这样我就不必每次请求都检索它?

我正在编写一个ASP.NET MVC应用程序,我正在使用默认IPrincipal,IIDentity等表单身份验证.

在我的身份验证票证中,我将用户名存储在name参数中.

但是,我遇到的情况是,在每次请求时,我的主布局不仅需要访问用户名,还需要访问用户的电子邮件和用户ID.

我需要电子邮件,所以我可以为用户加载一个gravitar图标,用户名,这样我可以在顶部栏中显示友好的显示名称,以及用户ID,以便我可以定义特定于该用户ID的某些链接(即/ users/edit/2332).

什么是最简单的方式来存储用户名,还有用户ID和电子邮件?

自定义主体/标识对象?缓存?会议?还有其他方法吗?

asp.net-mvc forms-authentication

2
推荐指数
1
解决办法
2260
查看次数