小编Joh*_*ohn的帖子

Lambda表达式搜索

我想对具有可变搜索条件但在C#代码中的产品执行"动态SQL"搜索.例如,产品定义如下:

class Product
{
  public decimal Price { get; set; }
  public int Quantity { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我的搜索控件有一个价格文本框和一个数量文本框.如果用户指定了某些内容,则应将其包含在搜索中(否则不包括在内).实际上,我的产品有超过2个属性.

如何通过变量条件基于任何此类搜索来一般地构建lambda表达式?

谢谢!

c# wpf lambda entity-framework

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

ASP.NET MVC 2自动映射放置

我正在使用Automapper在我的EF4模型和我的ViewModel之间进行转换.Automapper需要声明映射关系,我发现自己在每个控制器的构造函数中复制/粘贴它们.

Mapper.CreateMap<CoolObject, CoolObjectViewModel>();
Run Code Online (Sandbox Code Playgroud)

我在哪里可以放置映射声明,这样它们只会被调用一次而不是每次实例化一个控制器?这可能吗?

session controller automapper asp.net-mvc-2

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

C#存储库设计问题

我正在为MVC 2 Web应用程序编写EF4数据层,我需要有关选择继承与抽象基类的建议.我的存储库在'generic repo'结构之后运行良好,但现在我想添加"Audit"功能,该功能在每次执行CRUD操作时都会记录.

这是我到目前为止使用的合同:

public interface IRepository<T>
{
    void Create(T entity);
    void Update(T entity);
    void Delete(Func<T, bool> predicate);
    T Get(Func<T, bool> predicate);
    IQueryable<T> Query();
}
Run Code Online (Sandbox Code Playgroud)

我的回购 实现看起来像这样:

sealed class EFRepository<TEntity> : IRepository<TEntity>
    where TEntity : EntityObject
{
    ObjectContext _context;
    ObjectSet<TEntity> _entitySet;

    public EFRepository(ObjectContext context)
    {
        _context = context;
        _entitySet = _context.CreateObjectSet<TEntity>();
    }

    public void Create(TEntity entity)
    {
        _entitySet.AddObject(entity);
        _context.SaveChanges();
    }

    public void Update(TEntity entity)
    {
        _entitySet.UpdateObject(entity);
        _context.SaveChanges();
    }

    public void Delete(Func<TEntity, bool> predicate)
    {
        TEntity entity = _entitySet.Single(predicate);
        _entitySet.DeleteObject(entity); …
Run Code Online (Sandbox Code Playgroud)

c# inheritance abstract-class repository-pattern

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