小编Jon*_* S.的帖子

返回匿名类型结果?

使用下面的简单示例,使用Linq to SQL从多个表返回结果的最佳方法是什么?

说我有两张桌子:

Dogs:   Name, Age, BreedId
Breeds: BreedId, BreedName
Run Code Online (Sandbox Code Playgroud)

我想用他们的狗归还所有的狗BreedName.我应该让所有的狗使用这样的东西没有问题:

public IQueryable<Dog> GetDogs()
{
    var db = new DogDataContext(ConnectString);
    var result = from d in db.Dogs
                 join b in db.Breeds on d.BreedId equals b.BreedId
                 select d;
    return result;
}
Run Code Online (Sandbox Code Playgroud)

但如果我想要品种的狗并尝试这个我有问题:

public IQueryable<Dog> GetDogsWithBreedNames()
{
    var db = new DogDataContext(ConnectString);
    var result = from d in db.Dogs
                 join b in db.Breeds on d.BreedId equals b.BreedId
                 select new
                        {
                            Name = d.Name,
                            BreedName = b.BreedName
                        };
    return result; …
Run Code Online (Sandbox Code Playgroud)

c# linq linq-to-sql

187
推荐指数
7
解决办法
19万
查看次数

加密/散列数据库中的纯文本密码

继承了一个Web应用程序,我刚刚在SQL Server数据库中以纯文本形式存储了超过300,000个用户名/密码.我意识到这是一件非常糟糕的事情.

知道我必须更新登录和密码更新过程以加密/解密,并且对系统其余部分的影响最小,您会建议从数据库中删除纯文本密码的最佳方法是什么?

任何帮助表示赞赏.

编辑:对不起,如果我不清楚,我打算问你的加密/哈希密码的程序,而不是特定的加密/散列方法.

我应该只是:

  1. 备份数据库
  2. 更新登录/更新密码代码
  3. 几小时后,浏览用户表中记录密码的所有记录并替换每个记录
  4. 测试以确保用户仍然可以登录/更新密码

我想我的关注更多来自于大量的用户,所以我想确保我正确地做到这一点.

security encryption passwords security-by-obscurity

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

抛出ArgumentNullException

假设我有一个方法将某种对象作为参数.现在说如果这个方法传递一个null参数,那就是一个致命的错误,应该抛出一个异常.编写这样的代码对我来说是否值得(请记住这是一个简单的例子):

void someMethod(SomeClass x)
{
    if (x == null){
        throw new ArgumentNullException("someMethod received a null argument!");
    }

    x.doSomething();
}
Run Code Online (Sandbox Code Playgroud)

或者,当它调用x.doSomething()时,依赖它抛出NullException是否安全?

其次,假设someMethod是一个构造函数,在调用另一个方法之前不会使用x.我应该立即抛出异常还是等到需要x然后抛出异常?

.net c# exception-handling exception

59
推荐指数
9
解决办法
6万
查看次数

我是否过度使用Knockout映射插件总是用它来做我的viewmodel?

我还在学习Knockout的正确使用方法,并且我发现自己ko.observable在设置我的viewmodel时很快就远离了键入,而只是定义了一个对象文字,并通过映射插件传递给它

var viewModel = ko.mapping.fromJS(data);
Run Code Online (Sandbox Code Playgroud)

或者至少,将所有数据填充到viewModel上的属性中,就像这样

var viewModel = { 
    ... events etc ... , 
    "data": ko.mapping.fromJS(data)
}
Run Code Online (Sandbox Code Playgroud)

说实话,我一直这样做的主要原因是为了解决必须打字ko.observableko.observableArray重复的问题.我只是想弄清楚这是否是一个好方法,如果有任何缺点,将var x = ko.observable()所有特定声明放在一起.此外,我正在加载所有这些,而不是响应任何ajax调用等,从我可以看出,这是映射插件的设计目的.

在使用knockout的工作中,你是否仍然手动逐个声明observable,或者你使用了我使用的mapping.fromJS方法?像这样经常使用映射插件有什么特别的缺点吗?

编辑:

具体例子

在本文中,Steve通过这样做来设置他的viewModel

var initialData = [ { ... } , { ... } ]; // json from the serializer
var viewModel = {
    gifts : ko.observableArray(initialData)
};
Run Code Online (Sandbox Code Playgroud)

通常,我也只是ko.mapping.fromJS用于这种情况,特别是为了确保数组中的对象也被转换为可观察对象.看看他做了什么,我的做法似乎有些过度,并增加了一些不必要的开销.

javascript mvvm knockout-mapping-plugin knockout.js

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

一个好的数据库建模工具?

你们能推荐我一个好的数据库建模工具吗?主要用于SQL Server ...

谢谢!

database-design

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

如何在datacontract WCF中使用枚举

我希望在WCF Web服务的datacontract中有一个枚举.

我正在尝试使用

[DataContract]
class myclass
{
    [DataMember]
    public int id {get; set;}

    [DataContract]
    public enum myenum
    { 
        [EnumMember]
        a,
        [EnumMember]
        b
    }
}
Run Code Online (Sandbox Code Playgroud)

但我无法访问wcf客户端的枚举.请让我知道我做错了什么.

.net c# wcf web-services

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

解码UTF8电子邮件标头

我有一个表单的电子邮件主题:

=?utf-8?B?T3.....?=
Run Code Online (Sandbox Code Playgroud)

电子邮件的正文是utf-8 base64编码 - 并且解码得很好.我目前正在使用Perl的Email :: MIME模块来解码电子邮件.

=?utf-8分隔符的含义是什么?如何从此字符串中提取信息?

email perl header utf-8

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

为什么泛型称为泛型?

冒着成为村里白痴的风险,有人可以向我解释为什么仿制药被称为仿制药吗?我理解它们的用法和好处,但如果泛型定义是"通用的"而泛型集合是类型安全的,那么为什么这不是用词不当呢?

例如,ArrayList可以保存任何对象:

ArrayList myObjects = new ArrayList();
myObjects.Add("one");
myObjects.Add(1);
Run Code Online (Sandbox Code Playgroud)

而字符串类型的泛型集合只能包含字符串:

var myStrings = new List<string>();
myStrings.Add("one");
myStrings.Add("1");
Run Code Online (Sandbox Code Playgroud)

我不清楚为什么它被称为"通用".如果答案是"......这使得设计类和方法可以推迟一个或多个类型的规范,直到通过客户端代码声明和实例化类或方法." 从这里开始,我认为这是有道理的.也许我有这种精神失误,因为我只是在Java引入泛型之后开始编程,所以我不记得他们之前的时间.但还是......

任何帮助表示赞赏.

language-agnostic generics semantics

21
推荐指数
2
解决办法
1483
查看次数

C#Linq分组

我正在试验Linq并且无法搞清楚分组.我已经完成了几个教程,但由于某种原因无法弄清楚这一点.

例如,假设我有一个包含多个网站ID的表(SiteStats),该表存储了按类型访问每个网站的访问者总数和过去30天的计数.

????????????????????????????????????????
? SiteId ? VisitorType ? Last30 ? Total?
????????????????????????????????????????
?      1 ?           1 ?     10 ?  100 ?
?      1 ?           2 ?     40 ?  140 ?
?      2 ?           1 ?     20 ?  180 ?
????????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)

在SQL中,我可以使用以下内容轻松获取SiteID 1的计数:

SELECT SiteId,  
       SUM(Last30) AS Last30Sum  
FROM Sites  
WHERE SiteId = 1  
GROUP BY SiteId
Run Code Online (Sandbox Code Playgroud)

并且应该排成一排......

???????????????????????
? SiteId ? Last30Total?
???????????????????????
?      1 ?         50 ?
???????????????????????
Run Code Online (Sandbox Code Playgroud)

但是我不确定如何使用Linq获得此结果.我试过了:

var statsRecord = from ss in db.SiteStats  
    where ss.SiteId == …
Run Code Online (Sandbox Code Playgroud)

c# linq

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

无法在主机上加载程序集WebPages.Deployment版本2?

我有一个ASP.NET MVC 2网站(VS2010),我已升级到ASP.NET MVC 3(VS2012),这可以在本地IIS7上运行,但在发布时我在主机上得到此异常:

 Could not load file or assembly 'System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
Run Code Online (Sandbox Code Playgroud)

在一些seartch之后,我发现表明我应该在一些引用上设置CopyLocal(包含System.Web.WebPages)并且还使用VS2012中的发布工具,但这会产生以下异常?

Could not load file or assembly 'System.Web.WebPages.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
Run Code Online (Sandbox Code Playgroud)

我找不到任何部署DLL来设置copyLocal?

我该怎么解决这个问题?

iis asp.net-mvc hosting .net-assembly visual-studio

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