小编Oyy*_*you的帖子

存储库模式 - 验证对象并返回消息

我正在开发一个网站,只是想了解总体结构。我在后台有一个数据库,我正在使用“存储库模式”访问该数据库。我的UserRepository类中有以下代码:

public bool IsValid(User user)
{
  if (_context.Users.Any(c => c.EmailAddress == user.EmailAddress))
  {
    Message = "Email address already in use";
    return false;
  }

  return true;
}
Run Code Online (Sandbox Code Playgroud)

这是在这里实现的

[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Register(User user)
{
  if (ModelState.IsValid)
  {
    var context = new Context("DatabaseContext");
    var userRepo = new UserRepository(context);

    if (userRepo.IsValid(user))
    {
      userRepo.Add(user);
      // return to different view
    }
    else
    {
      // display userRepo.Message on page
      return View(user);
    }
  }

  return View(user);
}
Run Code Online (Sandbox Code Playgroud)

我的问题是我认为我没有正确地处理“消息”位,但我在网上找不到任何可以帮助我的东西(特别是在存储库周围)。我认为我应该将IsValid的返回类型更改为类似结果的类型(正如我在对话框中看到的那样),但我再次不确定。

任何帮助将非常感激。 …

c# asp.net model-view-controller repository-pattern

7
推荐指数
1
解决办法
3057
查看次数

自动实现的属性 - 隐藏成员的签名

创建自动实现的属性时,C#会在后台的某个位置为该属性生成成员.我对于我的生活不记得这是什么叫,或者成员的命名约定是什么.谷歌搜索了一段时间后,我认为这可能只是一个想法.

属性:

public int Age { get; set; }
Run Code Online (Sandbox Code Playgroud)

我对隐藏成员的猜测(来自内存):

private int i_age;
Run Code Online (Sandbox Code Playgroud)

编辑#1

为了澄清,我正在寻找自动生成成员的术语,下面是Dmitry Bychenko的回答.术语是"支持领域"

c#

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