相关疑难解决方法(0)

EF实体与服务模型与视图模型(MVC)

我正在尝试理解和设计您的应用程序/域模型(POCO/DTO)的良好实践.

假设我有以下数据库表,帐户:

UserID int
Email varchar(50)
PasswordHash varchar(250)
PasswordSalt varchar(250)
Run Code Online (Sandbox Code Playgroud)

当然,EF4会像这样构建实体:

public class Account
{
    public int UserID { get; set; }
    public string Email { get; set; }
    public string PasswordHash { get; set; }
    public string PasswordSalt { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

现在,假设我有一个用于注册新用户的视图模型,可能看起来像这样:

public class RegistrationViewModel
{
    public string Email { get; set; }
    public string Password { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

最后,我有一个需要注册用户的服务:

public class RegistrationService
{
    public void RegisterUser(??? registration)
    {
        // Do stuff to register user …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc entity-framework viewmodel

24
推荐指数
2
解决办法
4170
查看次数

Linq-to-Entities查询中的格式化日期会导致异常

我有提交日期时间的实体类,我想选择不同的'mon-yyyy'格式的datetime字段值并填充下拉列表.

以下代码给出了错误:

var env = db.Envelopes.Select(d => new
        {
            d.ReportDate.Year,
            d.ReportDate.Month,
            FormattedDate = d.ReportDate.ToString("yyyy-MMM")
        }).Select(d => d.FormattedDate)

    List<SelectListItem> _months = new List<SelectListItem>();         

    foreach (var mname in env)
    {
        _months.Add(new SelectListItem() { Text = mname, Value = mname });
    }
Run Code Online (Sandbox Code Playgroud)

错误信息:

LINQ to Entities无法识别方法'System.String ToString(System.String)'方法,并且此方法无法转换为商店表达式.

如何更正此错误消息?

谢谢SR

c# linq linq-to-entities entity-framework-4

9
推荐指数
2
解决办法
2万
查看次数

如何设计ViewModel

我在项目中实施了EF 4.在其中,有表客户和订单.其中一个(客户)与多个(订单)有关系.

我正在为(CustomerViewModel和OrderViewModel)创建一个viewmodel,从我的域层传递到接口层(在本例中为MVC).

现在的问题是"我需要在customerviewmodel同时引用视图模型?例如已经IEnumerable<OrderViewModel>在orderviewmodel已CustomerViewModel.如果让我怎么设计它(作为最佳实践),以便IEnumerable<OrderViewModel>CustomerViewModel填充了正确的参考?

entity-framework viewmodel

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

可选属性中的MVC必需属性

我有两个实体:

public class ParentThing
{
    [Key]
    public int Id { get; set; }

    [Required]
    public ChildThing TheFirstThing { get; set; }

    public ChildThing TheSecondThing { get; set; }
}

public class ChildThing
{
    [Key]
    public int Id { get; set; }

    [Required]
    public string Code { get; set; }

    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

和视图模型:

public class ParentViewModel
{
    public string Message { get; set; }

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

和一个观点:

@using (@Html.BeginForm()) …
Run Code Online (Sandbox Code Playgroud)

c# validation asp.net-mvc entity-framework required

6
推荐指数
1
解决办法
1668
查看次数

将DTO转移到ViewModel

这是我的数据传输对象

public class LoadSourceDetail
{
  public string LoadSourceCode { get; set; }
  public string LoadSourceDesc { get; set; }
  public IEnumerable<ReportingEntityDetail> ReportingEntity { get; set; }
}

public class ReportingEntityDetail
{
  public string ReportingEntityCode { get; set; }
  public string ReportingEntityDesc { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是我的ViewModel

public class LoadSourceViewModel
{
    #region Construction

        public LoadSourceViewModel ()
        {
        }

        public LoadSourceViewModel(LoadSourceDetail data)
        {
            if (data != null)
            {
                LoadSourceCode = data.LoadSourceCode;
                LoadSourceDesc = data.LoadSourceDesc;
                ReportingEntity = // <-- ?  not sure …
Run Code Online (Sandbox Code Playgroud)

c# asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

3
推荐指数
1
解决办法
1107
查看次数