小编Kev*_*Kev的帖子

EF4,Lambda,存储库模式和DTO

我有一个关于Entity Framework4,Lambda表达式和数据传输对象(DTO)的半复杂问题.

所以我有一个小的EF4项目,并遵循既定的OO原则,我有一个DTO,在数据使用者(GUI)和数据模型之间提供一层抽象.

  • 具有getter/setter的VideoDTO = DTO,由GUI使用
  • VideoEntity = EF4生成的实体

我的问题围绕着GUI使用DTO(并没有让GUI完全使用Entity),并且需要将lambda传递给数据层.我的数据层是Add的基本存储库模式.更改,删除,获取,获取列表等.尝试使用如下签名实现Find方法:

public IEnumerable<VideoDTO> Find(Expression<Func<VideoEntity, bool>> exp)
...
_dataModel.Videos.Where(exp).ToList<Video>()
---
Run Code Online (Sandbox Code Playgroud)

我的问题/关注点是"exp"需要是VideoEntity而不是VideoDTO.我想保留关注点的分离,以便GUI不知道Entity对象.但是,如果我试图传入

Func<VideoDTO, bool> 
Run Code Online (Sandbox Code Playgroud)

然后我不能使用实际的数据模型在那个表达式上做LINQ.

有没有办法将a转换Func<VideoDTO,bool>为aFunc<VideoEntity, bool>

理想情况下,我的方法签名会接受Func<VideoDTO, bool>,这样GUI就不会引用底层数据实体.

这够清楚了吗?谢谢你的帮助


谢谢你们两个人的代表.

我将尝试在对象中定义搜索条件并在LINQ表达式中使用它.刚开始使用EF4和L2S,将其作为学习项目.

再次感谢!

linq frameworks entity repository

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

Windows 7 Ultimate x64上的System.Net.HttpListener限制为1k并发连接

我一直在尝试使用我的工作站上的HTTP.sys/HttpListener进行一些测试,似乎有一些限制可以防止超过1000个并发连接.有没有人有这方面的更多信息?(因为1k似乎有点清洁是巧合).

我试图找到任何线程/配置/注册表设置但是空了.

提前致谢.
GJ


看起来我跳了一下枪.

我似乎错过了使用http.sys/HttpListener BeginGetContext对并发连接不是很好,因为新的BeginGetContext只会在先前请求的响应流关闭后触发.

因此积压了1000个请求,在这种情况下,积压工作正在填补.

无论如何 - 如果有人有任何评论(或可能的更正)随时扩大.

谢谢
GJ

.net sockets httplistener

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

PowerShell ISE为什么不让我在以管理员身份运行时设置断点?

由于未能使PowerGUI正常工作,我已经退回到PowerShell ISE上了.但是,如果我以管理员身份运行它,它将不允许我设置任何断点.

如果我正常启动(我的登录是管理员的成员)一切都很好,但因为我需要编写一些需要完全管理员权限的任务,这是不好的.

我已将脚本保存为正确的文件(即它不是"untitled1.ps1"),但没有快乐.

我正在运行Windows 7 x64 Ultimate.

奇怪的是,这似乎不是我的Windows 2008 R2开发盒上的问题(我以管理员的成员身份登录,然后以"管理员身份"运行PS ISE,并设置并点击断点.

任何想法为什么会这样?

powershell powershell-ise powershell-2.0

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

在R函数内调用predict()

我想在R中的函数中调用predict(...).我遇到了一些与范围有关的问题,但我无法弄清楚什么是错的或如何解决它.有人可以帮忙吗?例:

df <- data.frame(x=1:20, binary.outcome=1*(runif(20, 0, 1) > 0.60))
summary(df)
logit.model <- glm(df$binary.outcome ~ df$x, family=binomial("logit"), data=df)
summary(logit.model)

PredictOnNewData <- function() {
  df <- data.frame(x=51:100)
  df$probability <- round(predict(logit.model, df, type="response"), digits=3)
  return(df)
}

PredictOnNewData()
Run Code Online (Sandbox Code Playgroud)

最后一行失败了:

错误$<-.data.frame(*tmp*,"概率",值= c(0.274,0.282,:替换有20行,数据有50个另外:警告消息:'newdata'有50行但找到的变量有20行

如果我正确理解错误消息,它看起来像我传递给预测的df对象(...)被评估为父/全局环境中的df.那一行有20行,用于训练.但我希望调用预测(...)在另一个 df数据框上进行评估- 我在PredictOnNewData函数中创建的数据框.如何实现(不更改数据框的名称)?

[现在我重读了这篇文章 - 我向后看了吗?在行中(df $ probability < - ...),其中一个dfs正在以错误的方式进行评估,但是它是哪个?

我也试过get("df",envir = sys.frame()),明确想要在当前函数框架中定义的df对象:

PredictOnNewData <- function() {
  df <- data.frame(x=51:100)
  # df$probability <- round(predict(logit.model, df, type="response"), digits=3)
  df$probability <- round(predict(logit.model, get("df", envir=sys.frame()), type="response"), digits=3)
  return(df)
}

PredictOnNewData() …
Run Code Online (Sandbox Code Playgroud)

r

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

如何在java中构建简单的代码生成器

我想在java中构建一个简单的代码生成器,它可以获取数据库连接字符串,然后为数据库中的每个表创建模型层,我不知道我该怎么做,所以如果任何人有任何教程或链接可能帮我完成这项任务,我将感激不尽

提前致谢


我在代码项目上找到了一个很好的例子,它可以获取数据库并为数据库中的表生成良好的代码,但遗憾的是它是用C#编写的,并且还生成C#代码

我不知道生成C#代码然后使用任何转换软件将它们转换为java是正确的,或者正确的方法是尝试修改它以生成java类而不是C#类

顺便说一下,该示例的链接是http://www.codeproject.com/KB/codegen/TierGenerator.aspx

我尽快得到你的建议

提前致谢

java code-generation

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

使用Elmah记录到多个目标

我有以下Elmah配置:

<elmah>
    <security allowRemoteAccess="0" />
    <errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="Elmah.Sql"  />
    <errorLog type="Elmah.MemoryErrorLog, Elmah" size="50"  />
    <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data" />
</elmah>
Run Code Online (Sandbox Code Playgroud)

但是当我运行我的应用程序时出现此错误:

每个配置文件只能出现一次.有关例外,请参阅帮助主题.

logging elmah

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

IIS 7.5应用程序池用户(域用户,而不是AppPoolIdentity)所需的用户权限

我们有一个活动目录域(让我们称之为foodomain)和一个foodomain\fooAppPoolUser用于IIS应用程序池标识的域用户帐户().

我们希望在此用户帐户下运行应用程序池,而不是在Network Service新用户帐户下,AppPoolIdentity因为我们必须访问SQL服务器并且在IIS(具有自己的应用程序池)上有多个应用程序访问不同的数据库.

问题是我无法找到明确的HOW-TO解释,必须为此用户帐户设置哪些用户权限以及如何设置IIS以使其正常工作.

首先我得到错误(不幸的是我记不起哪些错误),然后我添加fooAppPoolUser到本地管理员组(Administrators我知道,只是为了测试),然后它工作了.现在我再次删除了用户,重新启动了IIS,它仍然有效.

所以我有点困惑,想知道配置/设置如何让它工作.

我读到的Somwhere,该帐户需要具有" 身份验证后模拟客户端 "用户权限.这就是我将帐户添加到Admin组的原因(用户权限分配是通过组策略阻止的,但如果确实需要,这肯定可以更改.

我希望我很清楚问题是什么,并希望有人得到答案.

configuration application-pool windowsdomainaccount iis-7.5

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

Javascript命名空间约定

我已将我的javascript命名为.

是否有关于大写和命名空间名称大小的约定?

是否可以在表单中使用命名空间,MyNamespace以便在访问我使用的属性或函数时MyNamespace.myProperty

javascript jquery namespaces

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

Android onFocusChanged函数从未调用过

View在本教程中指定的扩展类中创建了一个自定义按钮:

http://kahdev.wordpress.com/2008/09/13/making-a-custom-android-button-using-a-custom-view/

但我对onFocusChanged()从未调用的函数有问题.

这是我的代码:

public class CustomButton extends View
{
    ...
    public CustomButton(Context context, Car car) 
    {
        super(context);
        setFocusable(true);
        setBackgroundColor(Color.BLACK);
        setOnClickListener(listenerAdapter);
        setClickable(true);
    }

    @Override
    protected void onFocusChanged(boolean gainFocus, int direction,
                                  Rect previouslyFocusedRect)
    {
        if (gainFocus == true)
        {
            this.setBackgroundColor(Color.rgb(255, 165, 0));
        }
        else
        {
            this.setBackgroundColor(Color.BLACK);
        }
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

事实上,当我点击我的自定义按钮时没有任何反应......使用调试器,我可以看到函数永远不会被调用.我不知道为什么.

那么,我忘记了一步吗?还有其他我错过的东西吗?

java android

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

Erlang - 用餐哲学家的错误

如果代码很难遵循,我道歉.这是经典的餐饮哲学家问题,有5位哲学家正在吃饭,但只有5支 - 你需要两只才能吃.

如果有人有兴趣,这些是说明:http://www.kth.se/polopoly_fs/1.260940!/ Menu/general/column- content/attachment / philosophers.pdf

无论如何,这里是代码,筷子过程代码:

-module(chopstick).
-export([start/0]).

start() ->
spawn_link(fun() -> init() end).
init() ->
available().

available() ->
receive
    {request, From} -> 
        From ! granted,
        gone();
    quit ->
        ok
        end.
gone() ->
receive
    returned ->
        available();
    quit ->
        ok
        end.
Run Code Online (Sandbox Code Playgroud)

哲学家流程代码:

-module(eater).
-import(timer, [sleep/1]).
-import(random, [uniform/1]).
-export([start/5, dream/5, eat/5, wait/5]).

start(Hungry, Right, Left, Name, Ctrl) ->
dream(Hungry, Right, Left, Name, Ctrl).

 **%This was wrong, it should say start(Hungry, Right, Left, Name, Ctrl) …
Run Code Online (Sandbox Code Playgroud)

concurrency erlang

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