Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 基于适合同一区域的内容拆分内容_C# - Fatal编程技术网

C# 基于适合同一区域的内容拆分内容

C# 基于适合同一区域的内容拆分内容,c#,C#,我现在的问题是。也就是说,它不会进入另一个表,即与CourseData放在一起的courseCategory 因此,我想获得已建立在单一类别价值上的课程 比如说,在处理我的分类内容时,该课程在其他课程中没有发现任何内容 例如,正如您在这里的图片中所看到的,我现在只有几门课,但是当每门课都添加了一个类别时。在其他任何一个上都找不到。那么,搜索单个类别应该占主导地位 分类中的我的表格 我的数据库概述 因此,我要澄清的问题是,它基本上没有解决SearchWord中的单词。只要有一个或多个词合适,它

我现在的问题是。也就是说,它不会进入另一个表,即与CourseData放在一起的courseCategory

因此,我想获得已建立在单一类别价值上的课程

比如说,在处理我的分类内容时,该课程在其他课程中没有发现任何内容

例如,正如您在这里的图片中所看到的,我现在只有几门课,但是当每门课都添加了一个类别时。在其他任何一个上都找不到。那么,搜索单个类别应该占主导地位

分类中的我的表格

我的数据库概述

因此,我要澄清的问题是,它基本上没有解决SearchWord中的单词。只要有一个或多个词合适,它就必须解决它

public List<CourseData> GetCourseList(string text)//Undervisning
    {
        List<CourseData> list = new List<CourseData>();
        var dataContent = _dbContext.CourseDataModul
            .Where(r => r.Title.Contains(text) 
                        || r.Deck.Contains(text) 
                        || r.CourseDataContent.FirstOrDefault(x => x.Title.Contains(text)).Title.Contains(text) 
                        || r.CourseDataContent.FirstOrDefault(x => x.Deck.Contains(text)).Deck.Contains(text)
                        || r.CourseDataContent.FirstOrDefault(x => x.ContentValue.Contains(text)).ContentValue.Contains(text))
            .ToList();
        
        foreach (var item in dataContent)
        {
            list = _dbContext.CourseData
                .Where(r => r.Id == item.CourseDataId && r.OpenNow || r.Title.Contains(text) || r.Deck.Contains(text) ||
                            r.CourseCategori.SearchWord
                                .Split(new [] {",", ", ", " "}, StringSplitOptions.None) //online undervisning,undervisning,computer undervisning
                                .Contains(text)).ToList();//undervisning
        }
        return list;
    }
public List GetCourseList(字符串文本)//
{
列表=新列表();
var dataContent=_dbContext.CourseDataModul
.Where(r=>r.Title.Contains(text)
||r.Deck.Contains(文本)
||r.CourseDataContent.FirstOrDefault(x=>x.Title.Contains(text)).Title.Contains(text)
||r.CourseDataContent.FirstOrDefault(x=>x.Deck.Contains(text)).Deck.Contains(text)
||r.CourseDataContent.FirstOrDefault(x=>x.ContentValue.Contains(文本)).ContentValue.Contains(文本))
.ToList();
foreach(dataContent中的var项)
{
列表=_dbContext.CourseData
.Where(r=>r.Id==item.coursedaitaid&&r.OpenNow | | | r.Title.Contains(text)| | | r.Deck.Contains(text)||
r、 CourseCategori.SearchWord
.Split(新[]{“,”,“,”,“,”},StringSplitOptions.None)//在线欠压,欠压,计算机欠压
.Contains(text)).ToList();//欠压
}
退货清单;
}
您可以在“代码拆分”中看到,我对一些代码进行了注释,这些代码应该说明它在数据库中的外观,例如,它应该仅基于“欠可视性”。正如我所说,欢迎更多地发言

我在这里看到了这些链接:

更新。

在我更新我的代码并这样做之后。然后会有一个错误,可以在这里看到

public List<CourseData> GetCourseList(string text)//Undervisning
    {
        List<CourseData> list = new List<CourseData>();
        var dataContent = _dbContext.CourseDataModul
            .Where(r => r.Title.Contains(text) 
                        || r.Deck.Contains(text) 
                        || r.CourseDataContent.Any(x => x.Title.Contains(text)) 
                        || r.CourseDataContent.Any(x => x.Deck.Contains(text))
                        || r.CourseDataContent.Any(x => x.ContentValue.Contains(text)))
            .ToList();
        if (dataContent.Count > 0)
        {
            foreach (var item in dataContent)
            {
                list = _dbContext.CourseData
                    .Where(r => r.Id == item.CourseDataId && 
                                r.OpenNow || 
                                r.Title.Contains(text) ||
                                r.Deck.Contains(text) ||
                                r.CourseCategori.SearchWord
                                    .Split(new[] {",", ", ", "/"},
                                        StringSplitOptions
                                            .RemoveEmptyEntries) //online undervisning,undervisning,computer undervisning
                                    .Any(x => x.Contains(text))).ToList(); //undervisning
            }
        }
        else
        {
            list = _dbContext.CourseData.Where(r => r.OpenNow &&
                                r.Title.Contains(text) ||
                                r.Deck.Contains(text) ||
                                r.Text.Contains(text) ||
                                r.CourseCategori.SearchWord
                                    .Split(new[] {",", ", ", "/"},
                                        StringSplitOptions
                                            .RemoveEmptyEntries) //online undervisning,undervisning,computer undervisning
                                    .Any(x => x.Contains(text))).ToList();
        }

        return list;
    }
public List GetCourseList(字符串文本)//
{
列表=新列表();
var dataContent=_dbContext.CourseDataModul
.Where(r=>r.Title.Contains(text)
||r.Deck.Contains(文本)
||任意(x=>x.Title.Contains(text))
||任意(x=>x.Deck.Contains(text))
||任意(x=>x.ContentValue.Contains(text)))
.ToList();
如果(dataContent.Count>0)
{
foreach(dataContent中的var项)
{
列表=_dbContext.CourseData
其中(r=>r.Id==item.CourseDataId&&
r、 OpenNow | |
r、 标题.包含(文本)||
r、 Deck.Contains(文本)||
r、 CourseCategori.SearchWord
.Split(新[]{,“,”,“,”,“/”},
StringSplitOptions
.removeMptyEntries)//在线欠售,欠售,计算机欠售
.Any(x=>x.Contains(text))).ToList();//欠压
}
}
其他的
{
list=\u dbContext.CourseData.Where(r=>r.OpenNow&&
r、 标题.包含(文本)||
r、 Deck.Contains(文本)||
r、 Text.Contains(文本)||
r、 CourseCategori.SearchWord
.Split(新[]{,“,”,“,”,“/”},
StringSplitOptions
.removeMptyEntries)//在线欠售,欠售,计算机欠售
.Any(x=>x.Contains(text))).ToList();
}
退货清单;
}
此处的错误代码:

LINQ表达式“DbSet.Join”(外部: DbSet,内部:c=>EF.Property(c, “CourseCategorid”),outerKeySelector:c0=> EF.Property(c0,“Id”),innerKeySelector:(o,i)=>new 透明标识符(外部=o,内部= 其中(c=>c.Outer.OpenNow&&c.Outer.Title.Contains(\uuuu text\u0) ||c.Outer.Deck.Contains(_text_0)| c.Outer.text.Contains(_text_0) ||Split(分隔符:字符串[]{“,”,“,”,“,”,“/”,}, 选项:RemoveEmptyEntries)。任何(x=>x.Contains(uu text_u0)))都可以 不能翻译。或者将查询重写为可以 转换,或通过插入 调用AsEnumerable()、AsAsAsAsyncEnumerable()、ToList()或 ToListSync()。寻找 更多信息


请查看关于发布代码和问题的指南,其中包含再现问题所需的所有数据,代码最少。还要确保代码不会尖叫“NRE here”-就像访问
FirstOrDefault
的结果而不检查空值一样。(旁注
r.CourseDataContent.FirstOrDefault(x=>x.Title.Contains(text)).Title.Contains(text)
非常混乱-可能您正在寻找
Any
instaead
FirstOrDefault
?)EF不理解
Split
。你没有得到一个错误吗?是的,我得到一个错误后,我更新的代码相比,前面所说的@CodingYoshio这就是我在更新后的代码中所展示的想法吗@阿列克谢列文科夫