小编Har*_*per的帖子

实体框架线程安全

实体框架生成的上下文对象不是线程安全的.

如果我使用两个独立的实体上下文,每个线程一个(并SaveChanges()在每个上调用),这会是线程安全的吗?

// this method is called from several threads concurrently
public void IncrementProperty()
{
   var context = new MyEntities();

   context.SomeObject.SomeIntProperty++;
   context.SaveChanges();
}
Run Code Online (Sandbox Code Playgroud)

我相信实体框架上下文实现了某种"计数器"变量,它跟踪上下文中的当前值是否是新鲜的.

  1. 使用上面的代码 - 从单独的线程调用 - 我是否还需要锁定增量/保存更改?
  2. 如果是这样,在这个简单的场景中实现这一目标的首选方法是什么?

c# datacontext concurrency thread-safety entity-framework-4

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

jquery html()不返回更改的值

我有一个带有这样的文本框的表单:

<html>
<head>
    <script type="text/javascript" src="jquery-1.6.2.js"></script>
</head>
<body>
    <input type="text" id="myTextBox" />
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

当我在myTextBox中输入内容时,该值可用$("#myTextBox").val(),但如果我这样做则不会显示$("body").html().我怎样才能获取html字符串和更新的表单值?谢谢!

html jquery

19
推荐指数
2
解决办法
7616
查看次数

IQueryable Lambda投影语法

我有一个IQueryable,其实体框架4对象我想投影到他们的DTO等价物.一个这样的对象'Person'是EF4类,相应的POCO PersonP是我定义的类.我正在使用Automapper在它们之间进行映射.但是,当我尝试以下代码时:

IQueryable<Person> originalModel = _repo.QueryAll();
IQueryable<PersonP> projection = originalModel.Select(e => Mapper.Map<Person, PersonP>(e));
Run Code Online (Sandbox Code Playgroud)

投影在运行时生成此错误:

LINQ to Entities does not recognize the method 'TestSite.Models.PersonP Map[Person,PersonP](TestSite.DataLayer.Model.Person)' method, and this method cannot be translated into a store expression.
Run Code Online (Sandbox Code Playgroud)

IQueryable<PersonP>使用Automapper 创建投影的合适语法是什么?谢谢.

PS Automapper配置正确 - 我在其他地方使用它在Person和PersonP之间来回转换,即Mapper.Map<Person, PersonP>(myPersonObject)正确返回一个PersonP对象.

编辑(更多代码):

我正在使用它来帮助函数将EF4实体POCO(PersonP)绑定到Telerik网格 - 由于它们包含循环引用(即导航属性),因此不会正确地序列化实体本身.我的代码看起来像这样:

public static GridModel GetGridModel<TEntity, TPoco>(IRepository<TEntity> repo, GridState gridState) where TEntity : EntityObject
{
 var originalModel = repo.QueryAll().ToGridModel(gridState);
 var projection = originalModel.Select(e => Mapper.Map<TEntity, TPoco>(e));


 return projection.ToGridModel(gridState); // applies filters, …
Run Code Online (Sandbox Code Playgroud)

lambda linq-to-objects linq-to-entities iqueryable projection

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

PHP数组减少到子数组键

我有这样的数组

$users = array(
    [0] => array('Id' => 3, 'Name' => 'Bob'),
    [1] => array('Id' => 8, 'Name' => 'Alice'),
)
Run Code Online (Sandbox Code Playgroud)

我想将Ids'向上拉'一级,以便最终的数组是:

$usersById = array(
    [3] => array('Id' => 3, 'Name' => 'Bob'),
    [8] => array('Id' => 8, 'Name' => 'Alice'),
)
Run Code Online (Sandbox Code Playgroud)

Id值是唯一的.

是否有本机PHP方式来做到这一点?我目前使用的代码是:

$usersById = array();
foreach ($users as $key => $value)
{
    $usersById[$value['Id']] = $value;
}
Run Code Online (Sandbox Code Playgroud)

这有效,但不是非常优雅.谢谢!

php arrays multidimensional-array

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

社交网络的SQL建模跟随者/关注关系

我正在为我的网站构建社交图.用户将创建关系(表单跟随者/关注者),其中每个方可以独立地跟随另一方.我的用户表看起来像这样:

Users table
 - UserId (PK, Auto-incrementing integer)
Run Code Online (Sandbox Code Playgroud)

考虑如何对此进行建模,我提出了几种替代方案,例如:

(a)表格将每个"跟随"行动视为一个单独的行.

Relationships table
 - FollowerId (FK to Users.UserId)
 - FollowedId (FK to Users.UserId)
Run Code Online (Sandbox Code Playgroud)

这有一个缺点,即给定许多用户,它会产生大量的行.

(b)表格保存每个用户关注的用户列表,如CSV或其他结构:

Relationships table
 - FollowerId (FK to Users.UserId)
 - FollowingUsers (e.g. 2,488,28,40)
Run Code Online (Sandbox Code Playgroud)

这样做的缺点是查询会更复杂(而且代价高昂?).我还必须维护字符串值的排序等...

(c)每行的关系,用户可能位于关系的"侧":

Relationships table
 - Party1Id (FK to Users.UserId)
 - FollowingParty2 (boolean)
 - Party2Id (FK to Users.UserId)
 - FollowingParty1 (boolean)
Run Code Online (Sandbox Code Playgroud)

这会将行保存在(a)上,但查询更复杂,因为用户可能是任何一方.

(d)将"跟随"和"跟随"放在如(b)之类的列表中

Relationships table
 - UserId (FK to Users.UserId)
 - FollowingUsers (e.g. 2,488,28,40)
 - FollowedBy (e.g. 2,488,28,40)
Run Code Online (Sandbox Code Playgroud)

这似乎是所有世界中最好的,但现在我必须使用事务来更新多行.

假设我希望扩展到一个大尺寸,虽然意识到"Facebook的问题不是我的问题" - 哪个选项,或者其他选项是首选?

sql scalability data-modeling relationships

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

图像特征检测

我正在开发一个应用程序来识别圆形/椭圆形内的线状特征。形状如下所示(此处显示两个):

形状

  • 形状本身在圆形和椭圆形之间可能略有不同。
  • 形状内部最多有 5 条线,它们位于每个形状的大致相同区域。
  • 这些线的长度、粗细、旋转和曲率可能略有不同。
  • 这些线有时会稍微接触/相交。
  • 通常正好有 5 个,但有时可能会完全丢失一行。
  • 我不在乎颜色,黑白阈值很好。

每个对象(超过 100 个)都将通过视频单独捕获;捕获是一个手动/物理过程(即我每次都拿着相机)。我可以完全控制相机,因此我可以在每次拍摄时始终如一地定位它。

现在我正在尝试使用 OpenCV 进行识别。我能够修改示例“人脸识别”应用程序以使用另一个 Haar 标识符 XML 文件,但这似乎只能处理外部圆/椭圆的检测。

我有兴趣为每个样本生成一个对象,以描述用于进一步处理的 5 条内部线:

{
    1: { length: 20, avg_thick: 2.3 },
    2: { length: 4, avg_thick: 2.0 },
    3: { length: 9.1, avg_thick: 2.1 },
    4: { length: 2, avg_thick: 1.9 },
    5: { length: 17, avg_thick: 2.1 }
}
Run Code Online (Sandbox Code Playgroud)

这是我第一个涉及图像识别的项目。我应该使用/研究什么算法或程序来实现这一目标?谢谢!

更新:

由于图像将是手工拍摄的,因此它们不是纯黑/白。尝试应用阈值会使形状内的(假装)线条有时会消失。我怎样才能改善阈值结果?

opencv artificial-intelligence image-recognition edge-detection

4
推荐指数
1
解决办法
1359
查看次数

HTML CSS:在一行上垂直对齐元素

我有一个用户登录标题,显示问候语,用户个人资料图片的缩略图(总是固定大小 - 30x30)和注销链接.每段文字和照片之间都有垂直分隔符.

<span>Hello [username]</span>
<span class="divider"></span>
<img src="/photo.jpg" />
<span class="divider"></span>
<a href="/logout">Logout</a>
Run Code Online (Sandbox Code Playgroud)

这是我要去的结果:

期望的结果

..但是图片的高度将所有其他元素"向下"推,所以我得到了这个:

实际结果

如何垂直对齐 - 有没有办法在不对每个元素进行硬编码px边距/填充的情况下进行?

html css vertical-alignment

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

HTML将滚动条附加到模态内容

我正在创建一个类似于Pinterest的页面,其中项目在用户滚动时垂直流动.当用户单击其中一个项目时,将打开包含相关内容的模式.目前,模态是一个绝对定位的div.

模态和背景(项目列表)都比用户的浏览器高度长.如何使浏览器上的滚动条代表模态div的高度而不是背景的高度,然后在模态关闭时将其设置回来?

我试图隐藏背景并显示模态,但是当我隐藏模态并显示背景时,它会一直向上滚动页面.我想保持背景略微可见,就像在Pinterest的主页上一样.

javascript css modal-dialog scrollbar pinterest

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

Javascript文字对象表示法此对象名称

我有一个像这样的对象文字:

var test = {
    one: function() {
    },
    two: function() {
        this.one(); // call 1
        test.one(); // call 2
    }
};
Run Code Online (Sandbox Code Playgroud)

two函数中的调用之间有什么区别(使用对象文字名称和使用对象this)?

javascript object-literal javascript-objects

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