小编Blu*_*ppy的帖子

控制器 - >服务 - >存储库:服务是否将实体映射到ViewModel?

我没有MVC应用程序,"M"包括服务和存储库层.

但是,我对于在哪里以及如何做一些事情感到有点困惑.

  1. 一个服务调用两个存储库,或调用它自己的存储库和另一个服务

例如

我有一个ReferenceDataService,它使用我的引用表处理CRUD的所有逻辑.

然后在我的"CustomerService"中,我需要'R'我的参考数据来获得例如描述而不是Id.那么,我应该调用ReferenceDataService还是ReferenceDataRepository?

  1. 在某个层,我想从Entity映射到ViewModel.

我是在服务层或控制器中执行此操作吗?

例如,我的ServiceLayer是否执行从VM到实体的映射/逻辑并返回?

谢谢:)

service repository-pattern asp.net-mvc-3

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

基于多个条件的另一个表中的SUM(值)更新一个表

我似乎无法找到如何做到这一点,并不确定如何搜索它!

我有一张桌子[MASTER]:

ID varchar(6)
CCY varchar(3)
Val1 decimal(20,5)
Val2 decimal(20,5)
FOO decimal(20,5)
Run Code Online (Sandbox Code Playgroud)

和另一张桌子 [FOOS]

ID varchar(6)
CCY varchar(3)
Val decimal(20,5)
Run Code Online (Sandbox Code Playgroud)

MASTER 每个ID/CCY复合键包含一行(不确定这是否正确)例如

ABCDEF GBP 200.00 100.00 null
ABCDEF EUR 400.00 150.00 null
ZYXWVU GBP 300.00 200.00 null
ZYXWVU EUR 400.00 200.00 null
Run Code Online (Sandbox Code Playgroud)

FOOS包含多行,并且每个MASTER例如不包含一行

ABCDEF GBP 50.00
ABCDEF GBP 51.00
ABCDEF GBP 150.00
ZYXWVU GBP 100.00
ZYXWVU EUR 200.00
ZYXWVU EUR 400.00
Run Code Online (Sandbox Code Playgroud)

我想运行一个查询来只更新匹配的MASTERSUM(FOOS.Val).例如

ABCDEF GBP 200.00 100.00 251.00
ABCDEF EUR 400.00 150.00 …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-update

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

New-PSDrive不支持凭据?

我试图在PowerShell 2.0中映射驱动器并收到此错误?

New-PSDrive –Name ftp –PSProvider FileSystem –Root “\\server\folder” -Credential $credential
The provider does not support the use of credentials. Perform the operation again without specifying credentials.
Run Code Online (Sandbox Code Playgroud)

但是,Get-Help New-PSDrive显示-Credential为有效选项?

这是PS中的版本问题吗?有没有另一种方法来做同样的...我宁愿把它保持在PS内(因为驱动器只是那时的PS)而不是辍学NET USE - NET USE /d但需要必须!

powershell-2.0 drive-mapping

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

检查COM +应用程序是否已在运行?

是否可以在C#(4.0)中获取已安装的Com +应用程序列表在同一个框中,然后检索每个应用程序的状态(运行/关闭)?

我可以找到启动/停止的方法,但不能检索状态.

c# com+

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

更新IEnumerable中的对象<>不更新?

我有一个包含大约80,000行的POCO类型的IEnumerable和一个包含行子集的数据库表(L2E/EF4),其中存在"错误/差异"(约5000行,但经常重复以提供约150个不同的行)项)

以下代码获取不同VSACode的"错误",然后尝试更新完整的结果集,更新JUST匹配的行...但它不起作用!

var vsaCodes = (from g in db.GLDIFFLs
  select g.VSACode)
  .Distinct();

foreach (var code in vsaCodes)
 {
  var hasDifference = results.Where(r => r.VSACode == code);
  foreach (var diff in hasDifference)
   diff.Difference = true;
 }

 var i = results.Count(r => r.Difference == true);
Run Code Online (Sandbox Code Playgroud)

在此代码之后,i = 0

我也尝试过:

foreach (var code in vsaCodes)
    {
        results.Where(r => r.VSACode == code).Select(r => { r.Difference = true; return r; }).ToList();
    }
Run Code Online (Sandbox Code Playgroud)

如何更新"结果"以仅设置匹配的差异属性?

c# linq ienumerable

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

通用管道,每个过滤器的输入/输出类型不同

我正在尝试实现一个过滤器/管道模式,以便我可以接受输入,通过多个过滤器处理它并在最后获得输出.

当输入类型和最终输出类型相同并且每个过滤器也使用相同类型时,我可以轻松地执行此操作.但是,我想输入一种类型并获得另一种类型.

例如,按照文件名获取csvfile,将其加载到单个字符串中,解析它们,验证并输出为xml.伪代码示例:

input = filename
filter = load csv file <filename, list<string>>
filter = parse csv <list<string>, list<businessobject>>
filter = validate objects <list<businessobject>, list<businessobject>> *... return type same as input type in this case.*
filter = create xml <list<businessobject>, XDocument>
filter = validate XDoc <XDocument, XDocument>
output = XDocument
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止:

IFilter, FilterBase, FilterImplementation
IPipeline, Pipeline
IBusinessObject, BusinessObject, BusinessObjectImplementation
Run Code Online (Sandbox Code Playgroud)

我的目的是要能够有一个列表IFilter<T,U>,其中T and U are IBusinessObject

但是,在尝试添加到列表时,我得到"无法转换BusinessObjectImplementationIBusinessObject" IFilter<IBusinessObject, IBusinessObject>.

所有代码的Apols ......它是最后一部分无法编译的代码


public interface IFilter<T, …
Run Code Online (Sandbox Code Playgroud)

c# generics interface

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

从List中获取5个字符串组

我有一个List<string>,我想从中获取5个项目组.没有键或任何简单的分组......但它总是5的倍数.

例如

{"A","16","49","FRED","AD","17","17","17","FRED","8","B","22","22","107","64"}
Run Code Online (Sandbox Code Playgroud)

参加团队:

"A","16","49","FRED","AD"
"17","17","17","FRED","8"
"B","22","22","107","64"
Run Code Online (Sandbox Code Playgroud)

但我无法找到一个简单的方法来做到这一点!

很确定它可以用枚举和Take(5)来完成......

.net c# linq

6
推荐指数
2
解决办法
995
查看次数

用户powershell脚本发布到URL?

我继承了以下Python脚本:

import urllib2
a = urllib2.urlopen('http://mysite/mypage.aspx?action=dosomething')
a.read()
a.close()
Run Code Online (Sandbox Code Playgroud)

我想用powershell脚本替换它.我用谷歌搜索了一下,但我发现的一切都启动了一个浏览器窗口.

这个脚本将被安排,所以我想尽可能"发布并忘记"?

任何帮助非常感谢收到:)

url powershell

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

是否有必要始终选择()... new {Anon} ... AsEnumerable ...每次选择(新的EntityType {})?

我一直在运行模式,我想从实体集合(EF4)中选择行,并使用这些数据在不同的实体集合中创建新行.

我发现这样做的唯一方法是执行以下步骤:

var newEntities = (from e in myentities
  where e.x == y
  select new {
    Prop1 = e.Prop1,
    Prop2 = e.Prop2+e.Prop3,
    Prop3 = DateTime.Now,
    Prop4 = "Hardcodedstring"}
  )
  .AsEnumerable()
  .Select(n=>new OtherEntity{
     Prop1 = n.Prop1,
     Prop2 = n.Prop2,
     Prop3 = n.Prop3,
     Prop4 = n.Prop4}
  );

//insert into database and save
Run Code Online (Sandbox Code Playgroud)

如果我尝试在select中创建一个新的OtherEntity,那么我会得到一个EF异常.

这是唯一的出路吗?使整个事情变得非常麻烦,似乎完全浪费了击键?

c# linq entity-framework-4

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

是否可以使用反射从构造函数中获取可选参数值?

鉴于这样的类:

public abstract class SomeClass
  {
      private string _name;
      private int _someInt;
      private int _anotherInt;

      public SomeClass(string name, int someInt = 10, int anotherInt = 20)
      {
          _name = name;
          _someInt = someInt;
          _anotherInt = anotherInt;
      }
  }
Run Code Online (Sandbox Code Playgroud)

是否可以使用反射来获取可选参数的默认值?

c# reflection

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