小编Tim*_*sen的帖子

.net ORM比较

我正和某人谈论实体框架,我还没有真正参与其中,但我想学习它.但是,我是否应该学习它仍然有点困惑.我听说很多人说你不应该使用实体框架,但我没有听到任何争论为什么会这样.

所以我的问题是,与其他产品相比,使用实体框架的专业和利益是什么.喜欢

  • NHibernate的
  • DataObjects.Net
  • 等等..

在易用性,可测试性,语义方面......

我知道有一些重复的 问题.但他们都有点过时(2008,2009),说实话,这些论点也缺乏一些东西.我知道实体框架4.0可用,但我还没有找到一个好的(完整的)比较.


答案

这里的一些好人通过解释不同框架的一些细节来回答我的问题.认为将它们展示在这里以供将来参考可能会很好.

.net comparison orm

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

检查int是否在两个数字之间

如果你试图找出int是否在数字之间,为什么不能这样做:

if(10 < x < 20)
Run Code Online (Sandbox Code Playgroud)

而不是它,你将不得不这样做

if(10<x && x<20)
Run Code Online (Sandbox Code Playgroud)

这似乎有点开销.

java integer conditional-operator

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

使用HTML Agility Pack和Linq解析html

我有以下HTML

(..)
<tbody>
 <tr>
  <td class="name"> Test1 </td>
  <td class="data"> Data </td>
  <td class="data2"> Data 2 </td>
 </tr>
 <tr>
  <td class="name"> Test2 </td>
  <td class="data"> Data2 </td>
  <td class="data2"> Data 2 </td>
 </tr>
</tbody>
(..)
Run Code Online (Sandbox Code Playgroud)

我的信息是name => so"Test1"和"Test2".我想知道的是如何根据我拥有的名称获取"data"和"data2"中的数据.

目前我正在使用:

var data =
    from
        tr in doc.DocumentNode.Descendants("tr")
    from   
        td in tr.ChildNodes.Where(x => x.Attributes["class"].Value == "name")
    where
        td.InnerText == "Test1"
    select tr;
Run Code Online (Sandbox Code Playgroud)

但是{"Object reference not set to an instance of an object."}当我试着去看时,我得到 了data

c# linq html-parsing html-agility-pack

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

这个傅立叶变换实现有什么问题

我正在尝试实现离散傅立叶变换,但它不起作用.我可能在某个地方写过一个bug,但我还没有找到它.

基于以下公式:

terere

该函数执行第一个循环,循环遍历X0 - Xn-1 ... 在此输入图像描述

    public Complex[] Transform(Complex[] data, bool reverse)
    {
        var transformed = new Complex[data.Length];
        for(var i = 0; i < data.Length; i++)
        {
            //I create a method to calculate a single value
            transformed[i] = TransformSingle(i, data, reverse);
        }
        return transformed;
    }
Run Code Online (Sandbox Code Playgroud)

而实际计算,这可能是错误的地方.

    private Complex TransformSingle(int k, Complex[] data, bool reverse)
    {
        var sign = reverse ? 1.0: -1.0;
        var transformed = Complex.Zero;
        var argument = sign*2.0*Math.PI*k/data.Length;
        for(var i = 0; i < data.Length; i++)
        {
            transformed …
Run Code Online (Sandbox Code Playgroud)

c# fft complex-numbers c#-4.0

12
推荐指数
1
解决办法
1646
查看次数

依赖注入有哪些重大改进?

目前我正在尝试更好地理解依赖注入,我正在使用asp.net MVC来处理它.你可能会看到我的一些其他相关问题;)

好吧,我将从一个示例控制器(示例Contacts Manager asp.net MVC应用程序)开始

public class ContactsController{

  ContactsManagerDb _db;

  public ContactsController(){

    _db = ContactsManagerDb();

  } 

  //...Actions here
}
Run Code Online (Sandbox Code Playgroud)

好吧,真棒,有效.我的操作都可以使用数据库进行CRUD操作.现在我已经决定要添加单元测试,并且我添加了另一个构造函数来模拟数据库

public class ContactsController{

  IContactsManagerDb _db;

  public ContactsController(){

    _db = ContactsManagerDb();

  }

  public ContactsController(IContactsManagerDb db){
    _db = db;
  }

  //...Actions here
}
Run Code Online (Sandbox Code Playgroud)

真棒,这是有用的,在我的单元测试中,我可以创建我自己的实现IContactsManagerDb和单元测试我的控制器.

现在,人们通常做出以下决定(这里是我的实际问题),摆脱了空控制器,并使用依赖注入定义什么方案中使用.

所以使用StructureMap我添加了以下注入规则:

x.For<IContactsManagerDb>().Use<ContactsManagerDb>();
Run Code Online (Sandbox Code Playgroud)

在我的测试项目中,我正在使用不同的IContactsManagerDb实现.

x.For<IContactsManagerDb>().Use<MyTestingContactsManagerDb>();
Run Code Online (Sandbox Code Playgroud)

但我的问题是,**我解决了什么问题,或者通过在这种特定情况下使用依赖注入简化了什么?

我现在没有看到任何实际用途,我理解如何但不是为什么?这有什么用?任何人都可以添加到这个项目,举个例子说明这个更实用和有用吗?

c# structuremap asp.net-mvc dependency-injection inversion-of-control

10
推荐指数
2
解决办法
435
查看次数

jQuery点击除div之外的所有东西,它是孩子们

当我点击任何地方时,我想做点什么,除非我点击一个div而它是孩子们.这是我到目前为止所尝试的,但它不起作用(点击它的孩子仍然执行括号内的内容.

$('body').on('click', '* :not(#calculator)',  function(e){
Run Code Online (Sandbox Code Playgroud)

我不能使用这样的东西:

jQuery - 选择除单个元素及其子元素之外的所有内容?

$("body > *").not("body > #elementtokeep").remove();
Run Code Online (Sandbox Code Playgroud)

因为.not函数不是我可以放在.on()函数内部的东西.

我怎样才能做到这一点?

javascript jquery

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

为什么c#不能计算数学函数的精确值

为什么c#不能做任何确切的操作.

Math.Pow(Math.Sqrt(2.0),2) == 2.0000000000000004
Run Code Online (Sandbox Code Playgroud)

我知道双打是如何工作的,我知道舍入误差来自哪里,我知道它几乎是正确的值,而且我知道你不能在有限的双精度中存储无限数.但是为什么没有一种方法可以让c#完全计算出来,而我的计算器可以做到.

编辑

这不是我的计算器,我只是举个例子:

http://www.wolframalpha.com/input/?i=Sqrt%282.000000000000000000000000000000000000000000000000000000000000000000000000000000001%29%5E2

干杯

c# rounding

9
推荐指数
1
解决办法
2229
查看次数

实现多个接口的类的类型

我正在尝试编写一些类,我遇到了以下问题:

我正在尝试编写一个从两个接口实现某些功能的类

interface IA {
 public void doSomething();
}

interface IB {
 public void doSomethingToo();
}
Run Code Online (Sandbox Code Playgroud)

我有两个实现这些接口的类:

class FooA implements IA, IB{

}

class FooB implements IA, IB{

}
Run Code Online (Sandbox Code Playgroud)

我有办法可以做到这一点:

public <type> thisClassImGonnaUse = returnEitherFooAOrFooB();
thisClassImGonnaUse.doSomething();
thisClassImGonnaUse.doSomethingToo();
Run Code Online (Sandbox Code Playgroud)

java interface

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

什么是unicode变体选择器

我在想.什么是unicode变体选择器U-FE00到U-FE0F用于.

例: ???? 

unicode

7
推荐指数
2
解决办法
6227
查看次数

整数转换为WoW Gold

对于一个MMORPG魔兽世界我试图写一个lib.该游戏中的钱存储为整数,而游戏货币不是整数,它基于金币,银币和铜币.

每100个铜是1个银,每100个银是1个金.

现在我需要将这样的整数转换为WoW Money格式:例如

123123应该返回: 23c 31s 12g

任何人都知道如何做到这一点

integer

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