.net 如何在dbml中向模型中添加计算列

.net 如何在dbml中向模型中添加计算列,.net,linq-to-sql,rdlc,calculated-columns,.net,Linq To Sql,Rdlc,Calculated Columns,如何将计算列添加到模型类 我有两个模型 用户 城市 User通过CityID(FK containt)连接到City,并且CityName位于City模型中 我想要在User模型中使用computed列,因为.rdlc报告似乎没有从连接到User的City模型(以dbml为单位)中获取值 当前,当我向模型添加新属性时,当使用该模型的linq查询执行时,它会给出错误 列名“UserCityName”无效 这意味着它试图从数据库中的User中选择CityName 谢谢。LinqToSQL将实体生成为

如何将计算列添加到模型类

我有两个模型

  • 用户
  • 城市
  • User
    通过
    CityID
    (FK containt)连接到
    City
    ,并且
    CityName
    位于
    City
    模型中

    我想要在
    User
    模型中使用computed列,因为.rdlc报告似乎没有从连接到
    User
    City
    模型(以dbml为单位)中获取值

    当前,当我向模型添加新属性时,当使用该模型的linq查询执行时,它会给出错误

    列名“UserCityName”无效

    这意味着它试图从数据库中的
    User
    中选择
    CityName


    谢谢。

    LinqToSQL将实体生成为分部类,这样您就可以通过添加新类和添加以下代码向实体添加额外的列

    例如:

    namespace YourEntityNameSpace
    {
        public partial class User
        {
            public string UserAdditionalText
            { 
                get
                {
                    // your code goes here
                }
            }
        }
    }
    
    更新:

  • 在解决方案窗口中展开
    Model.dbml
    ,可以找到
    Model.dbml.layout
    Model.designer.cs
  • 打开
    Model.designer.cs
    ,它包含从数据库自动生成的类
  • 搜索文本
    公共部分类用户
    。现在你们可以看到,自动生成的类是部分类,这意味着你们可以在单独的文件中定义你们的类
  • 将新类添加到项目中,使用与自动生成的文件中相同的命名空间和类名
  • 将其他属性添加到用户类中,您可以访问自动生成的类中的所有属性和成员

  • LinqToSQL将实体生成为分部类,所以您可以通过添加新类和添加以下代码向实体添加其他列

    例如:

    namespace YourEntityNameSpace
    {
        public partial class User
        {
            public string UserAdditionalText
            { 
                get
                {
                    // your code goes here
                }
            }
        }
    }
    
    更新:

  • 在解决方案窗口中展开
    Model.dbml
    ,可以找到
    Model.dbml.layout
    Model.designer.cs
  • 打开
    Model.designer.cs
    ,它包含从数据库自动生成的类
  • 搜索文本
    公共部分类用户
    。现在你们可以看到,自动生成的类是部分类,这意味着你们可以在单独的文件中定义你们的类
  • 将新类添加到项目中,使用与自动生成的文件中相同的命名空间和类名
  • 将其他属性添加到用户类中,您可以访问自动生成的类中的所有属性和成员

  • 我从dbml设计器创建模型,并且dbml文件具有自动生成的模型类,当将来我从dbml设计器进行更改时,在模型类中手动完成的更改不会丢失?当然,您可以查看自动生成的模型类,它是部分的。您需要做的是向项目中添加新类,然后将其名称空间更改为模型的名称空间(
    YourEntityNameSpace
    ,在我的回答中)。那么您的意思是在不同的名称空间下创建单独的类
    User
    ?什么?我的意思是,您可以将新文件添加到项目中,使用相同的名称空间和相同的类名。您还需要将partial关键字添加到新文件中的类中。我只是更新了我的答案,里面有一个关于部分类的链接。:)是的,反正我知道部分课程。谢谢,它很管用DI从dbml设计器创建模型,并且dbml文件具有自动生成的模型类,当将来我从dbml设计器进行更改时,在模型类中手动完成的更改不会丢失?当然,您可以查看自动生成的模型类,它是部分的。您需要做的是向项目中添加新类,然后将其名称空间更改为模型的名称空间(
    YourEntityNameSpace
    ,在我的回答中)。那么您的意思是在不同的名称空间下创建单独的类
    User
    ?什么?我的意思是,您可以将新文件添加到项目中,使用相同的名称空间和相同的类名。您还需要将partial关键字添加到新文件中的类中。我只是更新了我的答案,里面有一个关于部分类的链接。:)是的,反正我知道部分课程。谢谢,它很管用D