小编Kir*_*ein的帖子

编写CompareTo DataAnnotation属性

我有一种情况,我想与字段进行比较(例如,确保开始时间在结束时间之前).我正在使用System.ComponentModel.DataAnnotations属性进行验证.

我的第一个想法是这样的:

public enum CompareToOperation
{
    EqualTo,
    LessThan,
    GreaterThan
}

public class CompareToAttribute : ValidationAttribute
{
    CompareToOperation _Operation;
    IComparable _Comparision;

    public CompareToAttribute(CompareToOperation operation, Func<IComparable> comparison)
    {
       _Operation = operation;
       _Comparision = comparison();
    }

    public override bool IsValid(object value)
    {
    if (!(value is IComparable))
        return false;

    switch (_Operation)
    {
        case CompareToOperation.EqualTo: return _Comparision.Equals(value);
        case CompareToOperation.GreaterThan: return _Comparision.CompareTo(value) == 1;
        case CompareToOperation.LessThan: return _Comparision.CompareTo(value) == -1;
    }

    return false;
    }
}

public class SimpleClass
{
   public DateTime Start {get;set;}
   [CompareTo(CompareToOperation.GreaterThan, …
Run Code Online (Sandbox Code Playgroud)

c# validation data-annotations

9
推荐指数
2
解决办法
9820
查看次数

jQuery的首选模板库是什么?

我正在进入一个阶段,我需要根据服务器的JSON响应构建HTML客户端.Bugger手动执行此操作.

我已经在应用程序上使用jQuery了.我快速查看了jQuery模板,但文档告诉我它已被弃用,等待更好的插件.

这个问题几乎是一样的问题,但现在这个问题接近3年了,我假设现在已经有很多改变了.

jquery templates

9
推荐指数
2
解决办法
2603
查看次数

.NET OCRing图像

我正在尝试使用MODI来OCR窗口的程序.它适用于截图我使用win32 interop以编程方式抓取,如下所示:

public string SaveScreenShotToFile()
{
    RECT rc;
    GetWindowRect(_hWnd, out rc);

    int width = rc.right - rc.left;
    int height = rc.bottom - rc.top;

    Bitmap bmp = new Bitmap(width, height);
    Graphics gfxBmp = Graphics.FromImage(bmp);
    IntPtr hdcBitmap = gfxBmp.GetHdc();

    PrintWindow(_hWnd, hdcBitmap, 0);

    gfxBmp.ReleaseHdc(hdcBitmap);
    gfxBmp.Dispose();

    string fileName = @"c:\temp\screenshots\" + Guid.NewGuid().ToString() + ".bmp";
    bmp.Save(fileName);
    return fileName;
}
Run Code Online (Sandbox Code Playgroud)

然后将此图像保存到文件中并通过MODI运行,如下所示:

    private string GetTextFromImage(string fileName)
    {

        MODI.Document doc = new MODI.DocumentClass();
        doc.Create(fileName);
        doc.OCR(MODI.MiLANGUAGES.miLANG_ENGLISH, true, true);
        MODI.Image img = (MODI.Image)doc.Images[0];
        MODI.Layout layout = img.Layout;

        StringBuilder sb = …
Run Code Online (Sandbox Code Playgroud)

.net c# ocr modi

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

LINQ to SQL无法创建数据库[架构权限]

对于某些集成测试,我想使用LINQ to SQL来删除/重新创建测试数据库.我以前工作得很好,但是在这个项目中,数据库被分成几个模式.

当我尝试运行ctx.CreateDatabase()命令时,我得到了这个异常:

指定的模式名称"xyz"不存在,或者您无权使用它.

我用来执行此操作的登录具有以下角色dbcreator- 是否需要进一步的权限?当然,使用persmissions创建数据库的登录应该能够创建该数据库中包含的所有内容吗?

更新:

由于看起来使用LINQtoSQL没有解决这个问题的解决方案,有没有人有任何类似工具的建议来生成最好是免费的数据库?理想情况下,我不想忘记手写sql构建脚本.

c# linq integration-testing sql-server-2005 linq-to-sql

7
推荐指数
1
解决办法
2296
查看次数

扩展方法不适用于接口

受MVC店面的启发,我正在研究的最新项目是使用IQueryable上的扩展方法来过滤结果.

我有这个界面;

IPrimaryKey
{
  int ID { get; }
}
Run Code Online (Sandbox Code Playgroud)

我有这种扩展方法

public static IPrimaryKey GetByID(this IQueryable<IPrimaryKey> source, int id)
{
    return source(obj => obj.ID == id);
}
Run Code Online (Sandbox Code Playgroud)

假设我有一个实现IPrimaryKey的类SimpleObj.当我有一个SimpleObj的IQueryable时,GetByID方法不存在,除非我明确地转换为IPrimaryKey的IQueryable,这不太理想.

我在这里错过了什么吗?

.net c# extension-methods

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

ASP.NET MVC从URL获取Route值

我想弄清楚UrlReferrer控制器动作中的路由值是什么.

我无法弄清楚MVC管道中的哪个部分将传入的URL转换为RouteValues,我想要实现的是接近于此.

asp.net-mvc routing

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

在 Azure Functions 的 SignalR 服务中向一组用户发送消息

查看SignalR 绑定的文档以向指定用户发送消息,您UserId在消息中包含该属性 -

[FunctionName("SendMessage")]
public static Task SendMessage(
    [HttpTrigger(AuthorizationLevel.Anonymous, "post")]object message, 
    [SignalR(HubName = "chat")]IAsyncCollector<SignalRMessage> signalRMessages)
{
    return signalRMessages.AddAsync(
        new SignalRMessage 
        {
            // the message will only be sent to these user IDs
            UserId = "userId1",
            Target = "newMessage", 
            Arguments = new [] { message } 
        });
}
Run Code Online (Sandbox Code Playgroud)

此示例直接取自文档,但注释暗示您向多个用户 ID发送消息,即使该属性是字符串而不是数组。

您将如何指定多个用户?(例如,如果他们一起在私人聊天频道中)或者评论的措辞是否存在错误,您需要为每个用户发送一条消息?

对于其他版本的 SignalR,我会将它们放在一个组中,但函数不存在此绑定。

azure azure-functions signalr-service

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

这两个LINQtoSQL语句之间有什么区别?

这两个语句在逻辑上与我看起来相同,但它们导致生成不同的SQL:

#1 
var people = _DB.People.Where(p => p.Status == MyPersonEnum.STUDENT.ToString());
var ids = people.Select(p => p.Id);
var cars = _DB.Cars.Where(c => ids.Contains(c.PersonId));

#2 
string s = MyPersonEnum.STUDENT.ToString();
var people = _DB.People.Where(p => p.Status == s);
var ids = people.Select(p => p.Id);
var cars = _DB.Cars.Where(c => ids.Contains(c.PersonId));
Run Code Online (Sandbox Code Playgroud)

示例#1不起作用,但示例#2起作用.

生成的var people查询SQL对于两者都是相同的,但最终查询中的SQL 不同,如下所示:

#1
SELECT [t0].[PersonId], [t0].[etc].....
FROM [Cars] AS [t0]
WHERE EXISTS(
    SELECT NULL AS [EMPTY]
    FROM [People] AS [t1]
    WHERE ([t1].[Id] = [t0].[PersonId]) AND ([t1].[Status] = …
Run Code Online (Sandbox Code Playgroud)

c# iqueryable linq-to-sql generated-sql

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

如何改进此Rails代码?

我正在编写一个小浏览器游戏作为学习RoR的项目,我对它很陌生.

这是一个由cronjob定期调用的方法.

我猜应该有一些方法可以在魔药数组中添加元素,然后在最后进行批量保存,我也不喜欢每次在循环中点击数据库以再次获得市场的项目数量.

def self.restock_energy_potions
  market = find_or_create_market

  potions = EnergyPotion.find_all_by_user_id(market.id)

  while (potions.size < 5)
    potion = EnergyPotion.new(:user_id => market.id)
    potion.save
    potions = EnergyPotion.find_all_by_user_id(market.id)
  end    
end
Run Code Online (Sandbox Code Playgroud)

ruby refactoring ruby-on-rails

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

web.config是否覆盖任何app.configs?

如果我有一个Web应用程序(有自己的web.config)和.dll,那么app.config当发生冲突时,它会使用自己的哪个设置文件获胜?

.net settings app-config web-config

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