我正在尝试获取与给定用户的最新联系,按用户分组:
public class ChatMessage
{
public string SentTo { get; set; }
public string SentFrom { get; set; }
public string MessageBody { get; set; }
public string SendDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
用户的联系信息可以是SentTo或SentFrom.
List<ChatMessage> ecml = new List<ChatMessage>();
var q = ecml.OrderByDescending(m => m.SendDate).First();
Run Code Online (Sandbox Code Playgroud)
会给我最新的消息,但我需要每个用户的最后一条消息.我能找到的最接近的解决方案是LINQ Max Date with group by,但我似乎无法找出正确的语法.如果我不需要,我宁愿不创建多个List对象.如果用户的信息在SentTo,我的信息将在SentFrom,反之亦然,所以我确实有一些方法来检查用户的数据在哪里.
我提到过我对LINQ很新吗?任何帮助将不胜感激.
感谢SO上列出的精彩建议,我能够预先确定一个类型,以便在选中时更新表格.我需要做的最后一步是清除选择期间/期间/之后的文本框.我已经尝试在onchange事件中添加内容,拦截select事件等.似乎没有任何工作.我在这里找到的唯一其他参考资料没有答案.有自动完成的响应,但我似乎无法适应它们.任何帮助将不胜感激.
$(document).ready(function () {
var ds = [
@if (ViewData.ModelState.IsValid)
{
var index = 0;
foreach (var person in Model)
{
var jaUser = "{ name: \" " + person.UserName + "\", mobi: \"" + person.MobilePhone + "\" }";
if (index > 0) { jaUser = ',' + jaUser; }
@Html.Raw(jaUser)
index++;
}
}
];
var d = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: ds
});
d.initialize();
$('#contactSearch').typeahead(
{
hint: true,
highlight: true,
minLength: 1,
},
{
name: 'd', …Run Code Online (Sandbox Code Playgroud) 好吧,我完全被这个困扰了.我可能没有足够的信息在这里发布,但我甚至不知道从哪里开始寻找.我正在尝试在DAL.edmx文件上"从数据库更新模型".我将一个字段包含在之前未包含的视图中.我尝试刷新,然后我尝试重命名数据库中的视图并从DAL中删除视图,以便我可以重新添加它.我有两次
接下来,我无缘无故地尝试将我重命名的视图添加到DAL中,得到了相同的异常.从DAL.tt手动删除没有帮助.谷歌搜索问题,只有2个不相关的结果.我不知道哪里开始寻找.
我没有写它,但这里是视图的源sql(如果它有帮助).EF不会添加重命名的视图这一事实暗示它可能与SQL有关吗?SQL在mngmnt studio中运行正常.
SELECT ID, IssueID, IssueTypeID, IssueText, IssueCreateDate, WeekendDate, CustomerName, Employee,
CONVERT(DECIMAL(6, 2), AdjustedTotalRHours, 101) AS AdjustedTotalRHours, AdjustedTotalOHours,
AdjustedTotalRHours + AdjustedTotalOHours AS Hours, InvoiceNumber, AdjustedInvoiceAmount,
COALESCE
((SELECT SUM(InvoiceAmount) AS Expr1
FROM TrendingDataFinal AS I1
WHERE (InvoiceNumber = T1.InvoiceNumber) AND (CompanyID = T1.CompanyID) AND
(CalType = 'F') AND (Aident = T1.Aident)), 0) AS TotalInvoiceAmount, InvoiceDate,
ROUND(DATEDIFF(DAY, InvoiceDate, GETDATE()), 0) AS DaysOutstanding, Notes, Aident, EINC, IsClosed,
CompanyID,
(SELECT COUNT(ne.EntryID) AS Expr1
FROM Madison.Notes.Note AS n INNER JOIN
Madison.Notes.NoteEntry AS ne …Run Code Online (Sandbox Code Playgroud) 所以我开始这个新项目,并希望使用Log4net登录数据库.我正在使用EF进行其他事情并且连接正常.出于某种原因,L4N没有记录任何内容,但没有抛出任何错误.只是想知道我可能缺少哪些步骤,希望有人可以指出.我需要以某种方式"保存"到数据库吗?Thanx提前这么多.
我的web.config:
<log4net>
<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
<bufferSize value="100" />
<connectionType value="System.Data.EntityClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<connectionString value="data source=myserver;initial catalog=Reporting;integrated security=false;persist security info=True;User ID=myid;Password=mypassword" />
<commandText value="INSERT INTO [myschema].[Log] ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
<parameter>
<parameterName value="@log_date" />
<dbType value="DateTime" />
<layout type="log4net.Layout.RawTimeStampLayout" />
</parameter>
<parameter>
<parameterName value="@thread" />
<dbType value="String" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%thread" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_level" />
<dbType value="String" />
<size value="50" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level" …Run Code Online (Sandbox Code Playgroud) c# log4net entity-framework asp.net-mvc-4 entity-framework-5