此问题涉及使用Microsoft Entity Framework处理许多插入或更新的最佳实践.问题是我们编写了一个长期运行的程序,它从数据库中回收了数千条记录,然后逐个更新每条记录上的单个字段.令我们沮丧的是,我们意识到更新的每个记录都会在未处理ObjectContext的时间内被锁定.下面是一些伪代码(实际上没有运行)来说明:
using(ObjectContext context = new ObjectContext())
{
var myRecords = context.CreateObjectSet<MyType>().AsQueryable();
foreach(var record in myRecords)
{
record.MyField = "updated!";
context.SaveChanges();
//--do something really slow like call an external web service
}
}
Run Code Online (Sandbox Code Playgroud)
问题是我们需要做很多更新而不考虑交易.我们惊讶地发现调用context.SaveChanges()实际上会在记录上创建锁,并且在释放ObjectContext之前不会释放它.我们特别不想锁定数据库中的记录,因为这是一个高流量系统,程序可能会运行数小时.
所以问题是:在Microsoft Entity Framework 4中进行许多更新的最佳方法是什么,而不是在锁定数据库的一个长事务上完成所有更新?我们希望答案不是为每个更新创建一个新的ObjectContext ......
我试图从我的C#应用程序(通过C++/CLI)调用我的C++库.我按照这个问题的例子(针对我的具体应用).我的应用程序的设置是:
不幸的是,当我真正去访问我的C#应用程序中的CLR包装器对象时,我收到以下错误:
找不到类型或命名空间名称'YourClass'(您是否缺少using指令或程序集引用?)
我是否错误地设置了项目,或者还有其他我应该研究的内容?(不幸的是,我不能出于专有原因发布代码,但这是一个非常简单的代码,很容易遵循上面的例子.)
更新:
所以我完全按照Chris所说的去做(见下面的答案),但我仍然收到来自我的C#应用程序的消息"找不到类型或命名空间名称'MyProgram'(你是否缺少using指令或程序集)参考?).这是我的代码的(模拟).
MyWrapper.h
#pragma once
#include "myorigapp.h"
using namespace System;
namespace MyProgram
{
public ref class MyWrapper
{
private:
myorigapp* NativePtr;
public:
MyWrapper()
{
NativePtr = new myorigapp();
}
~MyWrapper()
{
delete NativePtr;
NativePtr = NULL;
}
void dostuff()
{
NativePtr->dostuff();
}
}
}
Run Code Online (Sandbox Code Playgroud)
Program.cs中
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MyProgram;
namespace Testing
{
class Program
{ …Run Code Online (Sandbox Code Playgroud) 因此,我想使用NuGet来管理我用于我的团队和我正在进行的特定项目的各种项目.到目前为止,我已将我的.js库文件放在我的Web解决方案(ASP.NET MVC 2)的/ Scripts目录中并引用了这些文件.当然,这是手动的,在升级期间管理很烦人等.
现在我正在使用NuGet,我意识到NuGet的整个目标是让它相当无痛.此外,似乎我不应该将我的包检查到我的存储库(AKA我不再需要管理我的外部库).但是,当我从NuGet中获取jQuery(例如)时,它会将其特定文件放在我项目的/ Scripts目录中.
我感到困惑的地方 - 如果有什么,我应该在此时检查源代码管理?我还在检查/ Scripts目录吗?
此外,如果其他人正在处理此项目并从源代码管理中检出解决方案,是否会自动下载软件包(假设解决方案附带有效的packages.config)?
在我们开始全职使用NuGet之前,我只想澄清几点.
CSS3引入,text-overflow因此您可以隐藏溢出的文本甚至添加省略号.
如果文本溢出并隐藏,我想在悬停时将其显示为工具提示.
最简单的方法是将文本添加到title元素的属性中.然而,这将使文本显示它是否溢出.
我只想在溢出时显示工具提示.
所以,如果我有这个:
<span>some text here</span>
<span>some more text here</span>
Run Code Online (Sandbox Code Playgroud)
它呈现如下:
这里有一些文字
多一点...
第一个没有工具提示,因为没有必要,第二个工具提示显示:
这里还有一些文字
有没有办法设置它?
基于这个网站上的其他答案,我已经觉得我知道这个问题的答案,但是,由于它略有不同,我想问一下.
是否可以从机器上本地运行的JavaScript访问本地文件(AKA,我的网站地址将是file:/// C:/ ...)?或者,这个沙盒也是吗?
我要做的是:我有一台独立的计算机,我希望人们能够将JSON或XML文件放入本地文件夹,这些文件夹在创建站点时读入并用于生成单个网页.如果无法使用JavaScript解决方案,您能提供其他任何建议吗?
谢谢.
我一直在玩Bootstrap的Jumbotron来放置背景图像.非常简单:
.jumbotron
{
background: url('path/to/images/banner.jpg') no-repeat center center;
background-size: cover;
}
Run Code Online (Sandbox Code Playgroud)
和
<div class="jumbotron">
<div class="container">...</div>
</div>
Run Code Online (Sandbox Code Playgroud)
它看起来很棒,反应灵敏.然而,Jumbotron只有它里面的内容一样大 - 我的内容很少.因此,它比我想要的要薄得多,我想在保持响应性的同时增加其默认高度.所以,例如,像这样的东西不起作用:
<div class="jumbotron">
<div class="container" style="height: 600px;">...</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是正确的高度,但图像不再响应.我一直在研究可用的各种mixins /变量,希望有一些东西可以弹出,我可以利用,但我没有运气.
我对ASP.NET编程比较陌生(但不是一般的编程),而且我一直在查看已经交给我的项目.在这个项目中,有一个bin目录,其中包含大量各种DLL文件.
然后,在web.conf文件中,在程序集结构内部(在XML中),添加了大量其他程序集.
我已经对SO和谷歌进行了一般性的搜索,我仍然在努力解决两者之间的差异.一种方式比另一方"更好"吗?可以提供的任何澄清将是最受欢迎的.
谢谢.
我一直在阅读Scott Guthrie关于将ViewData从控制器传递到视图的帖子,但我不认为该课程是针对我的具体情况点击的.
(注意:由于客户端的专有限制,我不能说贴实际代码,所以如果我的编写案例有点愚蠢/混乱,我道歉.)
我有一个名为ScenarioController的Controller,它处理围绕创建Scenario模型的各种操作.用户将完成的各种操作是方案的一般CRUD.我可以创建一个为Scenario模型执行此操作的网站.但是,我最近更新了Scenario模型,现在它由各种子组件(其他对象列表)组成.相应的视图使用jQuery选项卡,它加载部分视图,最终将表单加载到各种子组件数据.不幸的是,这是我遇到麻烦的地方.
我的索引页面目前看起来像这样:
<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<% using (Html.BeginForm()) {%>
<div id="scenario">
<div id="tabs">
<ul>
<li><a href="#tab1">Tab 1</a></li>
<li><a href="#tab2">Tab 2</a></li>
<li><a href="#tab3">Tab 3</a></li>
</ul>
<div id="tab1"><% Html.RenderPartial("Tab1"); %></div>
<div id="tab2"><% Html.RenderPartial("Tab2"); %></div>
<div id="tab3"><% Html.RenderPartial("Tab3"); %></div>
</div>
<div class="submitButtons">
<input type="button" value="Save Scenario" id="SaveScenario" />
<input type="button" value="Submit Scenario" id="SubmitScenario" />
</div>
</div>
<% } %>
</asp:Content>
Run Code Online (Sandbox Code Playgroud)
并且部分页面强烈地键入它们所代表的任何内容(主要是List<SomeObject>).
如何在Scenario模型中存储数据?我正在使用SQL数据库并与Entity Framework连接.我是否仍然需要表示各种项目列表的属性(因此我可以使用强类型类传递ViewData),或者这是我可以直接从实体调用传入ViewData(并根据需要进行转换)?
我意识到在eclipse中你可以指定某些.jar库来为各个项目添加,但我想知道是否有可能使eclipse自动将标准.jar添加到所有项目的类路径中.我正在使用eclipse进行java课程,并希望能够自动将课程的stdlib用于所有项目.