C# 从EntitySet中拉出逗号分隔的字符串<;T>;
如何将C# 从EntitySet中拉出逗号分隔的字符串<;T>;,c#,.net,string,linq,linq-to-sql,C#,.net,String,Linq,Linq To Sql,如何将EntitySet转换为字符串?i、 (鲍勃、乔、弗兰克) 在下面的列表中,LINQContactType是一个单独的表,可以有许多值。我试图将其转换为逗号分隔的字符串 var caseNotes =context.tblCaseNotes .Where(cn => cn.PersonID == personID) .OrderBy(cn => cn.ContactDate) .Se
EntitySet
转换为字符串?i、 (鲍勃、乔、弗兰克)
在下面的列表中,LINQContactType
是一个单独的表,可以有许多值。我试图将其转换为逗号分隔的字符串
var caseNotes =context.tblCaseNotes
.Where(cn => cn.PersonID == personID)
.OrderBy(cn => cn.ContactDate)
.Select(cn => new
{
cn.ContactDate,
cn.ContactDetails,
cn.TimeSpentUnits,
cn.IsCaseLog,
cn.IsPreEnrollment,
cn.PresentAtContact,
ContactType = string.Join(", ", cn.tblCaseNoteContactTypes.ToArray()),
cn.InsertDate,
cn.InsertUser,
cn.CaseNoteID,
cn.ParentNote
});
追加.ToArray()代码>在LINQ查询的末尾,并将其用作String.Join()的参数
要使其工作,LINQ查询必须返回一个字符串,以便该数组是一个字符串数组。或者具有与所需内容匹配的ToString()
的对象
编辑:添加新信息时:
如果tblCaseNotesContactTypes是一个对象,则需要在.ToArray()之前添加一个.Select(t->{return t converted to string})
代码>在LINQ查询的末尾,并将其用作String.Join()的参数
要使其工作,LINQ查询必须返回一个字符串,以便该数组是一个字符串数组。或者具有与所需内容匹配的ToString()
的对象
编辑:添加新信息时:
如果tblCaseNotesContactTypes是一个对象,则需要在.ToArray()
检查是否为空之前添加.Select(t->{return t converted to string})
ContactType=cn.tblCaseNoteContactTypes.Any()?string.Join(“,”,cn.tblCaseNoteContactTypes.ToArray()):string.Empty
而且
tblCaseNoteContactTypes
如果此集合的成员不是字符串,Join
将遇到一些问题。检查是否为空
ContactType=cn.tblCaseNoteContactTypes.Any()?string.Join(“,”,cn.tblCaseNoteContactTypes.ToArray()):string.Empty
而且
tblCaseNoteContactTypes
如果此集合的成员不是字符串,Join
将遇到一些问题。您必须从tblCaseNoteContactTypes
中选择要连接的列
ContactType = string.Join(", ",
cn.tblCaseNoteContactTypes.Select(x => x.MyColumn))
您必须从tblCaseNoteContactTypes
中选择要连接的列
ContactType = string.Join(", ",
cn.tblCaseNoteContactTypes.Select(x => x.MyColumn))
你有什么错误?我想我可以猜到,但是如果你告诉我们而不是让我们猜,可能会更快更容易。对不起,我收到一个错误,说明我不能将EntitySet指定为参数字符串[]
我的问题是tblCaseNotesContactTypes
不仅仅是字符串吗?它有3列;GUID、GUID、Int。Int与描述所在的管理表相关。当我把它打出来的时候,我可以看出我已经走远了!我需要做的完全不同…tblCaseNoteContactType是什么类型?请编辑您的问题以反映缺少的信息。您还可以删除不需要的信息(大多数是cn…
行)。您会遇到什么错误?我想我可以猜到,但是如果你告诉我们而不是让我们猜,可能会更快更容易。对不起,我收到一个错误,说明我不能将EntitySet指定为参数字符串[]
我的问题是tblCaseNotesContactTypes
不仅仅是字符串吗?它有3列;GUID、GUID、Int。Int与描述所在的管理表相关。当我把它打出来的时候,我可以看出我已经走远了!我需要做的完全不同…tblCaseNoteContactType是什么类型?请编辑您的问题以反映缺少的信息。您还可以删除不需要的信息(大多数是cn…
行)。我非常确定这是我在示例中已经拥有的信息,不是吗?我非常确定这是我在示例中已经拥有的信息,不是吗?太好了!这几乎就是我想要的,我得到了一个IEnumerable不能分配给String[]
…想法?我添加了一个.ToArray()
,世界很好!感谢string.Join(“,”,cn.tblCaseNoteContactTypes.Select(x=>x.tblcasenotesmanitem.itemsdescription).ToArray()
接受IEnumerable
作为框架4中的第2个参数。如果您使用的是较旧的版本,则需要ToArray()
Ah,这就解释了这一点。遗憾的是,我仍然在3.5上。现在已经很壮观了。谢谢你的帮助。@RefractedPaladin没问题,很高兴我能帮忙。太好了!这几乎就是我想要的,我得到了一个IEnumerable不能分配给String[]
…想法?我添加了一个.ToArray()
,世界很好!感谢string.Join(“,”,cn.tblCaseNoteContactTypes.Select(x=>x.tblcasenotesmanitem.itemsdescription).ToArray()
接受IEnumerable
作为框架4中的第2个参数。如果您使用的是较旧的版本,则需要ToArray()
Ah,这就解释了这一点。遗憾的是,我仍然在3.5上。现在已经很壮观了。“谢谢你的帮助。”圣骑士:没问题,很高兴我能帮忙。