所以我一直在开发Entity + LINQ,我真的开始怀疑最佳实践.我习惯了"如果我需要获取数据,引用存储过程"的模型.如果需要,可以动态更改存储过程,不需要重新编译代码.我发现我的代码中的查询看起来像这样:
List<int> intList = (from query in context.DBTable
where query.ForeignKeyId == fkIdToSearchFor
select query.ID).ToList();
Run Code Online (Sandbox Code Playgroud)
我开始想知道它和这之间的区别是什么:
List<int> intList = SomeMgrThatDoesSQLExecute.GetResults(
string.Format("SELECT [ID]
FROM DBTable
WHERE ForeignKeyId = {0}",
fkIdToSearchFor));
Run Code Online (Sandbox Code Playgroud)
我担心的是,我基本上很难将查询编码到代码中.我错过了什么吗?这是实体的意义吗?如果我需要做任何真正的查询工作,我应该把它放在一个sproc?
.NET 4.0,C#
我正在尝试为我的项目添加一些异常管理框架.如果能够,框架会向数据库发布异常.
我已经对异常处理做了大量的研究,但是我在理解我应该如何处理事件处理程序中发生的异常(即timer.elapsed或异步回调)时遇到了一些麻烦.每个事件处理程序都应该有一个try catch块吗?
谢谢!
问题的措辞不一定是正义问题......
所以这应该没问题.客户端UI可以将数据传递给WCF主机.但我的问题是,我如何使这些数据有用?我在Windows服务/ WCF主机上运行了几个引擎但是WCF主机完全没有意识到任何后台引擎的存在. 我需要客户端的通信请求才能与这些引擎进行交互.
有没有人知道如何在WCF主机和运行线程之间促进通信的良好设计模式或方法?
我一直在阅读有关建立一对一关系的人的所有谷歌和SO页面,EF但它只是不适合我.
这是我的模型:
帐户:
public int Id {get; set;}
public virtual AccountConfig AccountConfig {get; set;}
Run Code Online (Sandbox Code Playgroud)
帐户地图:
HasKey(t => t.Id);
HasRequired(t => t.AccountConfig)
.WithOptional();
Run Code Online (Sandbox Code Playgroud)
帐户配置:
public int Id {get; set;}
public int AccountId {get; set;}
public virtual Account Account {get; set;}
Run Code Online (Sandbox Code Playgroud)
帐户配置图:
HasKey(t => t.Id);
HasRequired(t => t.Account)
.WithOptional(t => t.AccountConfig);
Run Code Online (Sandbox Code Playgroud)
在执行时,AccountConfig性能上Account是NULL和Account财产AccountConfig是不正确的记录(巧合的是,检索到的Account.Id是一样的AccountConfig.Id,但我不知道这意味着什么).
在数据库中,该Account表没有对AccountConfig记录的引用,但该AccountConfig表具有对Account使用该AccountId列的记录的引用.
最终的结果是我可以引用AccountConfigfrom …
我有两个非域虚拟机。两者都运行相同版本的 PowerShell。其中一台虚拟机托管 WindowsServerCore 的透明网络 Docker 容器。非 Docker 虚拟机有 * 表示受信任的机器。Docker 容器已运行 Enable-PSRemoting 并托管自签名证书。Docker VM 端口 5985 和 5986 都可供非 Docker VM 访问,通过与这些端口上的 Docker IP 的 telnet 会话证明。我已将新用户添加到 Docker VM 并将其设置在管理员组中。我已经重置了 WinRM 服务。
无论我使用什么用户名/密码组合,当我尝试从非 Docker 虚拟机在 HTTP 或 HTTPS 上建立远程 PowerShell 会话时,访问总是被拒绝。
有人能够让它发挥作用吗?
我有一个带有数据的kendo网格和多个列(比如col 1,2和3).第1,2,3列需要能够根据彼此的值进行编辑(或防止编辑).这是特定于行的.
例如,如果第1列(日期)是<第2列(日期),则不允许编辑第3列.
我知道禁用或启用整个列很简单,但我的要求是特定于行的.因此,第1行可以启用第3列,第2行可以禁用第3列.
有什么想法吗?
我正在尝试编写一个过滤ListBox取决于内容的页面textbox.我已经完成了所有其他工作,但我希望ListBox将过滤器应用于KeyDownTextBox中发生的每个事件.问题是,当我捕获KeyDown事件然后尝试查看TextBox.Text属性时,它仍然是空的.我想这是因为TextBox只能在失去焦点时才更新Text属性.
有关如何TextBox在KeyDown事件期间获取当前文本而不必在每个期间捕获和重建字符数组的任何想法KeyDown?
谢谢!
我有一个带有拖动的剑道网格,可以重新排序网格行.
grid.table.kendoDraggable({
filter: "tbody > tr",
group: "gridGroup",
hint: function (e) {
return $('<div class="k-grid k-widget"><table><tbody><tr>' + e.html() + '</tr></tbody></table></div>');
}
});
grid.table.kendoDropTarget({
group: "gridGroup",
drop: function (e) {
e.draggable.hint.hide();
var target = dataSource.getByUid($(e.draggable.currentTarget).data("uid")),
dest = $(document.elementFromPoint(e.clientX, e.clientY));
if (dest.is("th")) {
return;
}
dest = dataSource.getByUid(dest.parent().data("uid"));
if (target.get("Id") !== dest.get("Id")) {
var tmp = target.Priority;
target.Priority = dest.Priority;
dest.Priority = tmp;
dataSource.sort({ field: "Priority", dir: "asc" });
}
}
});
Run Code Online (Sandbox Code Playgroud)
我也可以通过设置进行内联编辑
editable: "inline"
Run Code Online (Sandbox Code Playgroud)
和
{
command: ["edit"]
}
Run Code Online (Sandbox Code Playgroud)
但是,当尝试单击可编辑字段时启用拖动时,Kendo网格会执行一些操作.当我注释掉kendoDraggable代码时,编辑工作正常.我正在寻找一种捕获kendoGrid"编辑"命令的方法,并使用它来禁用可拖动性.当然,我需要在用户离开内联编辑模式后重新启用拖动.
有什么想法吗?
我在MVVM模型中有一个WPF页面(作为我的视图).View是一个包含许多文本框的输入表单.我有一个自定义ValidationRule,用于验证每个文本框并相应地显示工具提示警告.但是,我只希望在所有验证器通过时启用"提交"按钮.现在,我的"提交"按钮的IsEnabled根据其他条件绑定到DataContext.当我的IsEnabled已经被绑定时,如何添加"当所有验证器都通过时才启用"的警告?
IsEnabled="{Binding IsDataLoaded}"
Run Code Online (Sandbox Code Playgroud)