现在,我有一个如此定义的类:
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"属性一样.
如果有任何不清楚的地方,请告诉我.
提前致谢!
我在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) 我正在使用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)
它似乎为这个人拉出了所有的历史,然后在记忆中订购它.关于我缺少什么的任何建议?
提前致谢!
我正在编写一个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)
提前致谢!