小编Ter*_*rry的帖子

ASP.NET MVC 3自定义类型转换

现在,我有一个如此定义的类:

public class Task
{
    public Guid TaskId { get; set; }
    public string TaskName { get; set; }

    [DataType(DataType.Time)]
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = @"{0:hh\:mm}")]
    public TimeSpan? TimeRequired { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想让用户也分别输入"2h"或"15m"2小时或15分钟.有没有办法可以允许这些类型的自定义输入?我只想创建一个文本框,然后对该传入值进行自定义检查,并将其正确地转换为TimeSpan.我不确定是否存在某种类型的"CustomConverter",就像"CustomValidator"属性一样.

如果有任何不清楚的地方,请告诉我.

提前致谢!

c# asp.net-mvc-3

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

SQLite.NET性能使用SQLiteParameter和LIKE运算符

我在SQLite查询中使用SQLiteParameters和LIKE运算符时遇到问题.这是一段代码,如果我这里没有足够的代码,我会道歉.如果是这种情况,我可以轻松发布更多内容.

表现不佳:

using (OdysseyDataContext entities = new OdysseyDataContext())
{
    var results = entities.SearchResults.SqlQuery(
        "SELECT * FROM SearchResults WHERE ContactName LIKE @ContactName",
        new SQLiteParameter("@ContactName", "test")
    );
}
Run Code Online (Sandbox Code Playgroud)

很好的表现;很好的绩效:

using (OdysseyDataContext entities = new OdysseyDataContext())
{
    var results = entities.SearchResults.SqlQuery(
        string.Format(
            "SELECT * FROM SearchResults WHERE ContactName LIKE '{0}'",
            "test"
        )
    );
}
Run Code Online (Sandbox Code Playgroud)

其他重要代码:

public class OdysseyDataContext : DbContext
{
    public DbSet<SearchResult> SearchResults { get; set; }
}

public class SearchResult
{
    [Key]
    public Guid Id { get; set; }
    public string …
Run Code Online (Sandbox Code Playgroud)

c# sqlite system.data.sqlite entity-framework-4.1

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

实体框架代码First IQueryable

我正在使用Entity Framework Code First并遇到了一个小路障.我有一个类"Person"定义如下:

public class Person
{
    public Guid Id { get; set; }
    public virtual ICollection<History> History { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

和一个"历史"类定义如下:

public class History
{
    public Guid Id { get; set; }
    public virtual Person Owner { get; set; }
    public DateTime OnDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我打电话时:

IEnumerable<History> results = person.History
                               .OrderBy(h => h.OnDate)
                               .Take(50)
                               .ToArray();
Run Code Online (Sandbox Code Playgroud)

它似乎为这个人拉出了所有的历史,然后在记忆中订购它.关于我缺少什么的任何建议?

提前致谢!

c# entity-framework-4.1

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

SQLite.Net UTC DateTime

我正在编写一个Entity Framework 4.1应用程序.在这个应用程序中,我有一个History类定义如下:

public class History
{
    public Guid Id { get; set; }
    public DateTime HistoryDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我查看数据库时,它似乎将日期存储为本地时间.我的公司不存在于一个时区,这会导致问题吗?还有什么我需要做的事情来将日期和时间存储为UTC,或者它是否已经在SQLite中存储为UTC,我只是在当地时间看到结果.以下是我看到的一些示例输出:

select id, historydate from history limit 1;
000846d3-f91d-47bb-9963-baf9530e0229|2004-10-28 16:57:00
Run Code Online (Sandbox Code Playgroud)

提前致谢!

c# sqlite system.data.sqlite entity-framework-4.1

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