小编Zac*_*ott的帖子

如何编写C#Extension方法将Domain Model对象转换为Interface对象?

当您有一个需要显示为接口控件的域对象时,如下拉列表,ifwdev建议创建一个扩展方法来添加.ToSelectList().

原始对象是具有与下拉列表的.Text和.Value属性相同的属性的对象列表.基本上,它是SelectList对象的List,而不是同一个类名.

我想你可以使用反射将域对象转换为接口对象.任何人对C#代码都有任何建议吗?SelectList是SelectListItem的MVC下拉列表.

当然,想法是在视图中做这样的事情:

<%= Html.DropDownList("City", 
         (IEnumerable<SelectListItem>) ViewData["Cities"].ToSelectList() )
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc domain-driven-design selectlist selectlistitem

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

如何将 C# Select () 扩展委托或表达式传递到存储库?

每个人都会偶尔计划一下:

 var c = dc.Products.Select( p => new {p.id, p.name});
 // results in c having properties of .id and .name
Run Code Online (Sandbox Code Playgroud)

如果我想将其重构为方法怎么办?我将如何传递 Select 参数?

var c = myFunction( p => new {p.id, p.name});

Product myFunction( ??? myLambda)
{
    var c = dc.Products.Select( myLambda);

    var result = new Product();
    foreach( var myproperty in //property in myLambda)
    {
        result.XX // property that matches, set it equal to myproperty
    }
}
Run Code Online (Sandbox Code Playgroud)

显然,我需要更多地思考反思。:)

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

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

将目录树复制到命令行中的单个目录

任何人都知道命令行实用程序(或可以作为命令行运行的实用程序)将目录树中的所有.jpg文件收集到单个文件夹,只复制更改的文件?

我开始使用Renamer,它非常适合在当前目录中重命名文件,但是当我试图破坏路径时,它就缩短了.这可能是因为我不太了解Renamer.我最终创建了一个文本文件目录转储,然后使用REGEX查找/替换来创建批处理文件,但这几乎没有效率,也没有自动化.

REGEX:

(G:\ DIR\DIR \)([0-9] + \)([0-9] + \)([0-9] + \)([0-9] + \)(P [O- 9] +.JPG)

改变了这个

G:\ DIR\DIR\00\00\00\00\p0000000000.jpg

对此

G:\ DIR\DIR\p0000000000.jpg

(批处理文件中的副本\ 1\2\3\4\5\6\1\6).

我需要在没有真人登录的情况下将整个事情作为计划任务运行.不是真的在寻找Zip文件,因为我不想打扰系统处理器,而且大多数文件不会每天都在变化.这更像是文件同步.

regex windows command-line file-rename

4
推荐指数
1
解决办法
4262
查看次数

Windows批处理文件调试器?

是否有像Visual Studio这样的程序允许您调试(dos)批处理文件?我可以使用哪些技术进行调试?Martin Brown用一个很好的for/each循环回答了批处理文件的问题.我很乐意在循环时看到变量的值.

for /R A %i IN (*.jpg) DO xcopy %i B /M

debugging command-line batch-file

4
推荐指数
1
解决办法
8367
查看次数

Virtuemart如何在不使用EAV的情况下进行EAV?

我理解EAV中的三个基本故障,即重新组装数据需要做大量的工作.但是,我想要一个可以添加自定义字段的数据库.很多人说Virtuemart允许自定义字段但不使用EAV数据库结构.有人可以解释如何做到这一点或提供链接?

sql virtuemart entity-attribute-value

4
推荐指数
1
解决办法
1220
查看次数

Asp.net Mvc 2:存储库,分页和过滤如何?

将过滤器对象传递给存储库是有意义的,因此它可以限制返回的记录:

var myFilterObject = myFilterFactory.GetBlank();
myFilterObject.AddFilter( new Filter { "transmission", "eq", "Automatic"} );
var myCars = myRepository.GetCars(myfilterObject);
Run Code Online (Sandbox Code Playgroud)

关键问题:你将如何实现分页? 有关如何从存储库返回LazyList的任何链接都将在此处应用?这会成为过滤器对象的一部分吗?就像是:

myFilterObject.AddFilter( new Filter { "StartAtRecord", "eq", "45"} );
myFilterObject.AddFilter( new Filter { "GetQuantity", "eq", "15"} );
var myCars = myRepository.GetCars(myfilterObject);
Run Code Online (Sandbox Code Playgroud)

我假设存储库必须实现过滤,否则您将获得所有记录.

asp.net-mvc paging filtering repository

4
推荐指数
1
解决办法
2259
查看次数

C#:具有两个构造函数的对象:如何限制哪些属性设置在一起?

假设您有一个Price对象接受(int数量,小数价格)或包含"4/$ 3.99"的字符串.有没有办法限制哪些属性可以设置在一起?请在下面的逻辑中随意纠正我.

测试:A和B彼此相等,但不允许使用C示例.因此,问题如何强制所有三个参数都不会像在C示例中那样被调用?

AdPrice A = new AdPrice { priceText = "4/$3.99"};                        // Valid
AdPrice B = new AdPrice { qty = 4, price = 3.99m};                       // Valid
AdPrice C = new AdPrice { qty = 4, priceText = "2/$1.99", price = 3.99m};// Not
Run Code Online (Sandbox Code Playgroud)

班级:

public class AdPrice {
    private int _qty;
    private decimal _price;
    private string _priceText;
Run Code Online (Sandbox Code Playgroud)

构造函数:

    public AdPrice () : this( qty: 0, price: 0.0m) {} // Default Constructor
    public AdPrice (int qty = 0, decimal …
Run Code Online (Sandbox Code Playgroud)

c# object-initializers c#-4.0

4
推荐指数
3
解决办法
438
查看次数

Linq:在嵌套模型上执行Where()子句

这可能看起来很复杂,但我真的只是想从他们的孩子中存在某些条件的A中选择所有记录和他们的孩子.寻找我可以添加到A变量的语法,它允许我过滤一堆条件(比如规范模式?)

如果您有这样的嵌套视图:

var a = from Arow in Atable
        where ???
        select new AViewModel {                    // (image Products)
            id = Arow.id,
            name = Arow.Name,
            Brows = (from Brow in Arow.Brows
                     select new BViewModel {       // (sold in different regions)
                         id = Brow.id,
                         name = Brow.Name,
                         Crows = (from Crow in Brow.Crows
                                  select new CViewModel { // (and in many stores)
                                      id = Crow.id,
                                      name = Crow.Name
                                  }
                     }
        };
Run Code Online (Sandbox Code Playgroud)

和文本表示来自这样的网页的查询(规范模式?)我们使用JQuery选择器作为运算符(如^ =表示"以"开头")

filter[] = { "Brow.Name = Joe", "Crow.Name = Kim" …
Run Code Online (Sandbox Code Playgroud)

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

4
推荐指数
1
解决办法
4535
查看次数

实体框架4:通用存储库:如何确定EntitySetName?

如果您为Entity Framework 4中的实体执行通用存储库,则首先要查询实体:

public IEnumerable<E> GetEntity()
{
    return _container.CreateQuery<E>( ... );
}
Run Code Online (Sandbox Code Playgroud)

...上面我们需要EntitySetName,它通常是复数形式E的名称.然而,它并不总是像添加's'一样容易.例如,如果我们只添加一个's',这将有效.

    return _container.CreateQuery<E>( "[" + typeof(E).Name + "s]");
Run Code Online (Sandbox Code Playgroud)

如果我们有一个真实的实体,这将包含我们的EntitySetName:

E.EntityKey.EntitySetName
Run Code Online (Sandbox Code Playgroud)

当只提供E类型时,如何获取EntitySetName?

c# reflection entity-framework-4

4
推荐指数
1
解决办法
1161
查看次数

ASP.NET登录控件,用电子邮件登录但电子邮件不是用户名(如何)?

使用ASP.NET表单身份验证,您将如何接受电子邮件地址和密码,使用电子邮件地址查找用户名,然后使用查找的用户名和密码登录?

我们有这个卡系统,有员工编号,但没有人能记住他们的号码.显而易见的是使用登录的电子邮件地址,但应用程序的其余部分取决于用户名是员工编号.

谢谢.代码链接/示例会很棒.

我们当前的C#解决方案以以下引用异常结束:

Response.Write(Membership.GetUser().UserName);

但这两个都很好:

string userName = Membership.GetUserNameByEmail(emailAddress);
bool successfulLogin = Membership.ValidateUser(userName, password);

c# asp.net authentication

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