Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.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# 我可以通过Linq将字段合并到Sql吗_C#_Linq To Sql_Dynamic Data - Fatal编程技术网

C# 我可以通过Linq将字段合并到Sql吗

C# 我可以通过Linq将字段合并到Sql吗,c#,linq-to-sql,dynamic-data,C#,Linq To Sql,Dynamic Data,我是Linq to Sql的新手,我想实现的是在Entity类上创建一个只读属性,该属性是多个字段的组合,具体来说,我想创建一个名称字段,该字段组合了-title、forename和姓氏 我可以通过更改.designer.cs文件来了解如何做到这一点,但我知道我不应该碰它 我正试图这样做,以便在动态数据中获得一列而不是多列。这里的技巧是使用分部类;创建一个新的.cs文件,并在同一命名空间中添加一个新的类,该类以您的类型命名: namespace My.Data.Namespace { p

我是Linq to Sql的新手,我想实现的是在Entity类上创建一个只读属性,该属性是多个字段的组合,具体来说,我想创建一个名称字段,该字段组合了-title、forename和姓氏

我可以通过更改.designer.cs文件来了解如何做到这一点,但我知道我不应该碰它


我正试图这样做,以便在动态数据中获得一列而不是多列。

这里的技巧是使用
分部类;创建一个新的.cs文件,并在同一命名空间中添加一个新的类,该类以您的类型命名:

namespace My.Data.Namespace {
    partial class Employee {
        public string Foo {
            get {return Forename + " " + Surname; } // etc
        }
    }
}
这与原始(生成的)类文件相结合。这是向生成的实体(包括数据上下文)添加附加功能的常用方法。您可能还想看看“分部方法”,因为LINQtoSQL定义并使用了许多分部方法


一个警告:如果您的dbml被称为
MySystem.dbml
,则避免创建
MySystem.cs
文件(可能是针对您的部分类);代码生成器中存在一个错误,可能导致此操作失败。请给它起个别的名字。

在您的LINQ select语句中,为什么不使用如下内容:

select new {FullName = x.FirstName + " " + x.Surname};

不确定语法是否100%在那里,但检查一下想法。

我已经这样做了,但是在动态数据中,没有看到它出现在构建的网格中,还有什么我需要做的吗?嗯。。。我不知道。如果该属性可以从其他代码获得,那么我想知道动态数据是否在查看元模型(而不是类型的属性)。在这种情况下,很难让它工作。也可能只是因为动态数据需要读/写属性。。。我不知道,找到答案了。我需要添加[ScaffoldColumn(true)]属性,现在它出现在网格中。非常感谢您为[ScaffoldColumn(true)]
添加额外信息;下次我会把它归档-P