Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.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#_Casting_Strongly Typed Dataset - Fatal编程技术网

C# 强制转换到强类型数据集的正确方法

C# 强制转换到强类型数据集的正确方法,c#,casting,strongly-typed-dataset,C#,Casting,Strongly Typed Dataset,我有一个WPF树视图,它是从一组类层次结构(强类型数据集(实体框架))加载的 我正在寻找将这些节点转换回这些对象的正确方法 目前,我必须为层次结构中的每个类编写代码(这是一个如何删除对象的示例): 我想知道如何减少此代码,并使其更灵活,这样我就不必为将来可能添加的每个类添加代码。对于EF,您可以使用\u context.Set(MainTree.SelectedItem.GetType()).Remove(MainTree.SelectedItem) 总的来说,我建议您仔细研究并避免类似情况is

我有一个WPF树视图,它是从一组类层次结构(强类型数据集(实体框架))加载的 我正在寻找将这些节点转换回这些对象的正确方法

目前,我必须为层次结构中的每个类编写代码(这是一个如何删除对象的示例):


我想知道如何减少此代码,并使其更灵活,这样我就不必为将来可能添加的每个类添加代码。

对于EF,您可以使用
\u context.Set(MainTree.SelectedItem.GetType()).Remove(MainTree.SelectedItem)


总的来说,我建议您仔细研究并避免类似情况

is
\u context
实体框架
DbContext
?是的,这是正确的
            if (MainTree.SelectedItem is tblProject)
            {
                var s = (tblProject)MainTree.SelectedItem;
               _context.tblProjects.Remove(s);
            }

            if (MainTree.SelectedItem is tblLine)
            {
                var s = (tblLine)MainTree.SelectedItem;
                _context.tblLines.Remove(s);
            }

            if (MainTree.SelectedItem is tblDevice)
            {
                var s = (tblDevice)MainTree.SelectedItem;
                _context.tblDevices.Remove(s);
            }