小编Sha*_*ean的帖子

实体框架包括Where

如果我有一个如下所示的查询:

var forms = repo.GetForms().Where(f => f.SubForms.Any(sf => sf.Classes.Any(c => c.TermId == termId)));
Run Code Online (Sandbox Code Playgroud)

从这里你可以看到我的架构如下:

SubForm有许多Class有很多Term.

我想要的是:

所有SubForms与他们Classes在一个特定的Term.

现在的情况是,我得到的所有SubForm有任何Class特定Term.这意味着SubForm所有孩子一起回来,Class而不仅仅是与孩子有关的孩子Term.

例如.我有2个术语,每个术语有2个类的子表单.此查询返回4个类而不是该特定术语中的2个类.

有什么Include('Expression')我可以用来说我只想根据条件包含所有类吗?或者我的查询错了?

c# entity-framework entity-framework-4.1

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

javascript null条件表达式

可能重复:
javascript的null合并运算符?

在C#中,您可以这样做:

var obj = newObject ?? defaultObject;
Run Code Online (Sandbox Code Playgroud)

这表示,分配newObjectobj如果没有别的空分配defaultObject.我如何用javascript写这个?

javascript operators null-coalescing-operator

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

NamedScopes Ninject绑定和异步(线程)

我的项目由服务和存储库构成(所有存储库共享数据库上下文).在我的一个服务层中,我有一个使用存储库写入数据库的异步方法.在此方法可以使用之前,Web请求将完成并处理上下文.我试图理解这个答案中所述的NamedScopes.我似乎还无法理解如何实现它.我将展示我的项目是如何构建的,并希望有人可以在代码级别帮助我.

绑定

    private static void RegisterServices(IKernel kernel)
    {
        //dbcontext
        kernel.Bind<EntityDatabaseContext>().ToMethod(context => new EntityDatabaseContext()).InRequestScope();

        //unit of work
        kernel.Bind<IUnitOfWork>().To<UnitOfWork>().InRequestScope();

        //repositories
        kernel.Bind<IRepository<Account>>().To<Repository<Account>>().InRequestScope();

        //services
        kernel.Bind<IAuthenticationService>().To<AuthenticationService>().InRequestScope();
    }
Run Code Online (Sandbox Code Playgroud)

AuthenticationService使用构造函数注入

public AuthenticationService(UnitOfWork unitOfWork, IRepository<Account> accountRepository){}
Run Code Online (Sandbox Code Playgroud)

我的AuthenticationService中的一个方法

    //this is a background process
    public Task SomeMethodAsync(string text)
    {
        //spin it off into a new task
        return Task.Factory.StartNew(() => SomeMethod(text));
    }
Run Code Online (Sandbox Code Playgroud)

SomeMethod利用accountRepository.如果需要更多信息,请告诉我.请帮我解决线程问题,如果NamedScopes是解决方案,我该如何在我的情况下实现它?

基本上,正在执行后台进程,并且它正在使用由于请求范围而由ninject处理的上下文.

c# asp.net-mvc ninject

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

使用Ninject绑定WebApi过滤器属性

我目前在我的asp.net webapi项目中使用ninject.mvc3,它工作正常.现在我想结合过滤器属性,但BindFilterBindHttpFilter从缺少IKernel使用接口时,NinjectWebCommon静态类方法.如果我添加了Ninject.Web.WebApi包,那么它在那里但项目没有运行(问题在这里,解决方案说不Ninject.Web.WebApi推荐)所以我把它删回了.

我也完全按照这个github wiki而仍未this.BindFilter找到.我有最新的nuget包; Ninject(3.0.1.10),Ninject.Web.Common(3.0.0.7),Ninject.MVC3(3.0.0.6)

BindFilter或BindHttpFilter在哪里?有什么变化吗?如何在asp.net web api中绑定过滤器属性?有这么多的库和项目,文档没有告诉你当前工作的是什么以及什么是弃用的....

ninject asp.net-web-api

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

即时创建Javascript对象

我相信我已经在jquery中看到了一些这样的例子.但对我来说,以下代码不起作用.firebug调试器告诉我:'位置未定义'.你能告诉我这是否可行?

function ResolveGeoCode() {
    var Location;
    Location.Ad1 = "Hello ";
    Location.Ad2 = "World";

    return Location;
}

var loc = ResolveGeoCode();
var String1 = loc.Ad1; //This contains "Hello "?
var String2 = loc.Ad2; //This contains "World"?
Run Code Online (Sandbox Code Playgroud)

可以给我正在寻找的这类功能一个名字吗?

谢谢.

javascript

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

A-star的曼哈顿启发函数(A*)

我在这里找到了这个算法.

我有一个问题,我似乎无法理解如何设置和传递我的启发式功能.

    static public Path<TNode> AStar<TNode>(TNode start, TNode destination,
        Func<TNode, TNode, double> distance,
        Func<TNode, double> estimate) where TNode : IHasNeighbours<TNode>
    {
        var closed = new HashSet<TNode>();
        var queue = new PriorityQueue<double, Path<TNode>>();
        queue.Enqueue(0, new Path<TNode>(start));
        while (!queue.IsEmpty)
        {
            var path = queue.Dequeue();
            if (closed.Contains(path.LastStep))
                continue;
            if (path.LastStep.Equals(destination))
                return path;
            closed.Add(path.LastStep);
            foreach (TNode n in path.LastStep.Neighbours)
            {
                double d = distance(path.LastStep, n);
                var newPath = path.AddStep(n, d);
                queue.Enqueue(newPath.TotalCost + estimate(n), newPath);
            }
        }
        return null;
    }
Run Code Online (Sandbox Code Playgroud)

如您所见,它接受2个函数,一个距离和一个估计函数.

使用曼哈顿启发式距离函数,我需要采用2个参数.我是否需要修改他的来源并将其更改为接受TNode的2个参数,以便我可以将曼哈顿估算值传递给它?这意味着第4个参数将如下所示:

Func<TNode, …
Run Code Online (Sandbox Code Playgroud)

c# heuristics a-star

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

与团队基础服务器进行多次结账

我们有大约3人在TFS的一个项目上工作.我们公司将我们的TFS项目设置为单一结账.但有时,我们有一个人检查某些文件,解决方案文件等.启用多个检出是不好的做法,如果我们不小心覆盖了别人的代码,让合并或差异工具处理问题?

我已经在某个地方看到这一切都是关于良好的沟通,并允许差异工具处理这些问题,但我们的雇主建议使用单一结账.

2个问题.我们应该启用多个结账吗?如果是这样,我们如何启用多个结账?

version-control tfs

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

全高度div不拉伸

嗨,我已经在网站上工作了很长一段时间,改进了代码等.我刚刚注意到,在较小的屏幕上,白色背景的高度并没有超出所有内容.

设置min-height: 100%;并且height: 100%;似乎没有解决它,你认为这可能是由于许多内容浮动的事实?

任何建议将不胜感激.

html css height layout

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

NLog文件分割

我正在使用NLog登录到文件.有没有办法将它配置为在当前达到某个阈值(例如~50mb)时创建新的日志文件?可以从配置文件或代码完成吗?

asp.net-mvc nlog asp.net-mvc-3

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

多个项目共享相同的代码而没有循环引用

我有一个C#和F#项目.两者都应该是服务层代码.但有时,两个项目的代码都需要访问另一个项目中的代码.

每个项目都可以毫无问题地引用其他项目吗?

c# f# visual-studio

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