Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.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#_Asp.net Mvc_Entity Framework - Fatal编程技术网

C# 字符串组合不起作用

C# 字符串组合不起作用,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,设置:asp.net mvc web app、azure sql db、EF代码优先项目 我正在尝试将3个字符串和一个短字符串组合成一个字符串,如下所示: CompanyAddress = company.ZipCode.ToString() + " " + company.City + ", " + company.Street + " " + company.StreetNr ZipCode是一个短代码,其他所有代码都是字符串。在控制器操作中使用此代码在运行时不会返回任何记录和错误消息。当

设置:asp.net mvc web app、azure sql db、EF代码优先项目

我正在尝试将3个字符串和一个短字符串组合成一个字符串,如下所示:

CompanyAddress = company.ZipCode.ToString() + " " + company.City + ", " + company.Street + " " + company.StreetNr
ZipCode是一个短代码,其他所有代码都是字符串。在控制器操作中使用此代码在运行时不会返回任何记录和错误消息。当我省略ZipCode部分时,我会得到所有记录

我也尝试过使用company.ZipCode而不使用.ToString。分别给出一个不编译的摆动行和运行时不返回错误消息和记录。 请帮忙

其他信息: 代码行是api控制器的一部分。请参见下文,ZipCode可为空。 当ZipCode是代码行的一部分时,控制器将传递null,否则它将传递正确的字符串

        var companies = UnitOfWork.GetAll<Company>();
        var query = company in companies
                    where company.Activ == true

                    select new ActiveCompaniesViewModel
                    {
                        CompanyAddress = company.ZipCode.ToString() + " " + company.City + ", " + company.Street + " " + company.StreetNr
                    };

        return query;

这个问题以前已经回答过了,,

我认为这将是你的解决方案

select new ActiveCompaniesViewModel
{
    CompanyAddress = (company.ZipCode == null ? "" : SqlFunctions.StringConvert((int)company.ZipCode) + " ") +
                     company.City + ", " +
                     company.Street + " " +
                     company.StreetNr
};

但这对我来说毫无意义

CompanyAddress = SqlFunctions.StringConvert((decimal?)company.ZipCode) + " " + company.City + ", " +
                            company.Street + " " +
                            company.StreetNr,

你的ZipCode可以为空吗?你是说ZipCode可以为空——但城市、街道,可能还有StreetNr也可以为空!如果zipcode不是字符串,那么您可能使用了错误的数据类型。ToString Company.zipcode给出了摆动行,不编译compilecompany.zipcode.ToString运行但不返回任何记录。与short上的company.ZipCodeToString一样,在LINQ to Entities上不能像预期的那样工作,因此我们使用SqlFunction.StringConvert来进行转换。我理解为什么我们需要SqlFunctions.StringConvert,但为什么从short到string的转换需要“decimal”对我来说似乎很奇怪。