C# 如何从映射到实体的存储过程中导航相关实体

C# 如何从映射到实体的存储过程中导航相关实体,c#,entity-framework,stored-procedures,C#,Entity Framework,Stored Procedures,我有一个复杂的全文搜索存储过程,我已将其映射为返回实体类型。但它不允许我在结果中导航引用: using (MyEntities kb = new MyEntities()) { var results = from customer in kb.SearchCustomers("blabla") select new { CustomerName = customer.LastName + ", " + customer.FirstName, Regio

我有一个复杂的全文搜索存储过程,我已将其映射为返回实体类型。但它不允许我在结果中导航引用:

using (MyEntities kb = new MyEntities())
{
   var results = from customer in kb.SearchCustomers("blabla") select new 
   {
       CustomerName = customer.LastName + ", " + customer.FirstName,
       RegionName = customer.Region.Name
   };
}

这是在引用客户时引发空引用异常。

我们应该先检查LastName和FirstName。我认为有些客户没有名字或姓氏

using (MyEntities kb = new MyEntities())
{
   var results = from customer in kb.SearchCustomers("blabla") select new 
   {
       if(customer.LastName != null && customer.FirstName != null) 
       {
         CustomerName = customer.LastName + ", " + customer.FirstName,
         RegionName = customer.Region.Name
       }
   };
}

我们应该先检查LastName和FirstName。我认为有些客户没有名字或姓氏

using (MyEntities kb = new MyEntities())
{
   var results = from customer in kb.SearchCustomers("blabla") select new 
   {
       if(customer.LastName != null && customer.FirstName != null) 
       {
         CustomerName = customer.LastName + ", " + customer.FirstName,
         RegionName = customer.Region.Name
       }
   };
}

LastName和FirstName起作用,但Region不起作用?确保SearchCustomers首先返回预期的数据。通常在查询普通表时需要调用.Include(“Region”)。也许在使用存储过程时也必须这样做?不确定我还没有开始使用存储过程:)。。。。。。。。。。。。。var结果=以kb为单位的客户。SearchCustomers(“blabla”)。包括(“Region”)……姓和名有效,但Region不有效?确保SearchCustomers首先返回预期的数据。通常在查询普通表时需要调用.Include(“Region”)。也许在使用存储过程时也必须这样做?不确定我还没有开始使用存储过程:)。。。。。。。。。。。。。var结果=以kb为单位的客户。搜索客户(“blabla”)。包括(“区域”):。。。。。。。。。。。。。。。