我有一个关于Entity Framework4,Lambda表达式和数据传输对象(DTO)的半复杂问题.
所以我有一个小的EF4项目,并遵循既定的OO原则,我有一个DTO,在数据使用者(GUI)和数据模型之间提供一层抽象.
我的问题围绕着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,将其作为学习项目.
再次感谢!
我一直在尝试使用我的工作站上的HTTP.sys/HttpListener进行一些测试,似乎有一些限制可以防止超过1000个并发连接.有没有人有这方面的更多信息?(因为1k似乎有点清洁是巧合).
我试图找到任何线程/配置/注册表设置但是空了.
提前致谢.
GJ
看起来我跳了一下枪.
我似乎错过了使用http.sys/HttpListener BeginGetContext对并发连接不是很好,因为新的BeginGetContext只会在先前请求的响应流关闭后触发.
因此积压了1000个请求,在这种情况下,积压工作正在填补.
无论如何 - 如果有人有任何评论(或可能的更正)随时扩大.
谢谢
GJ
由于未能使PowerGUI正常工作,我已经退回到PowerShell ISE上了.但是,如果我以管理员身份运行它,它将不允许我设置任何断点.
如果我正常启动(我的登录是管理员的成员)一切都很好,但因为我需要编写一些需要完全管理员权限的任务,这是不好的.
我已将脚本保存为正确的文件(即它不是"untitled1.ps1"),但没有快乐.
我正在运行Windows 7 x64 Ultimate.
奇怪的是,这似乎不是我的Windows 2008 R2开发盒上的问题(我以管理员的成员身份登录,然后以"管理员身份"运行PS ISE,并设置并点击断点.
任何想法为什么会这样?
我想在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) 我想在java中构建一个简单的代码生成器,它可以获取数据库连接字符串,然后为数据库中的每个表创建模型层,我不知道我该怎么做,所以如果任何人有任何教程或链接可能帮我完成这项任务,我将感激不尽
提前致谢
我在代码项目上找到了一个很好的例子,它可以获取数据库并为数据库中的表生成良好的代码,但遗憾的是它是用C#编写的,并且还生成C#代码
我不知道生成C#代码然后使用任何转换软件将它们转换为java是正确的,或者正确的方法是尝试修改它以生成java类而不是C#类
顺便说一下,该示例的链接是http://www.codeproject.com/KB/codegen/TierGenerator.aspx
我尽快得到你的建议
提前致谢
我有以下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)
但是当我运行我的应用程序时出现此错误:
每个配置文件只能出现一次.有关例外,请参阅帮助主题.
我们有一个活动目录域(让我们称之为foodomain)和一个foodomain\fooAppPoolUser用于IIS应用程序池标识的域用户帐户().
我们希望在此用户帐户下运行应用程序池,而不是在Network Service新用户帐户下,AppPoolIdentity因为我们必须访问SQL服务器并且在IIS(具有自己的应用程序池)上有多个应用程序访问不同的数据库.
问题是我无法找到明确的HOW-TO解释,必须为此用户帐户设置哪些用户权限以及如何设置IIS以使其正常工作.
首先我得到错误(不幸的是我记不起哪些错误),然后我添加fooAppPoolUser到本地管理员组(Administrators我知道,只是为了测试),然后它工作了.现在我再次删除了用户,重新启动了IIS,它仍然有效.
所以我有点困惑,想知道配置/设置如何让它工作.
我读到的Somwhere,该帐户需要具有" 身份验证后模拟客户端 "用户权限.这就是我将帐户添加到Admin组的原因(用户权限分配是通过组策略阻止的,但如果确实需要,这肯定可以更改.
我希望我很清楚问题是什么,并希望有人得到答案.
我已将我的javascript命名为.
是否有关于大写和命名空间名称大小的约定?
是否可以在表单中使用命名空间,MyNamespace以便在访问我使用的属性或函数时MyNamespace.myProperty?
我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)
事实上,当我点击我的自定义按钮时没有任何反应......使用调试器,我可以看到函数永远不会被调用.我不知道为什么.
那么,我忘记了一步吗?还有其他我错过的东西吗?
如果代码很难遵循,我道歉.这是经典的餐饮哲学家问题,有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) java ×2
.net ×1
android ×1
concurrency ×1
elmah ×1
entity ×1
erlang ×1
frameworks ×1
httplistener ×1
iis-7.5 ×1
javascript ×1
jquery ×1
linq ×1
logging ×1
namespaces ×1
powershell ×1
r ×1
repository ×1
sockets ×1