我在 SQL Server 中有两张表用于客户及其地址。
CREATE TABLE Customers
(
ID INT NOT NULL IDENTITY(1,1),
LastName VARCHAR(50) NOT NULL,
FirstName VARCHAR(50) NOT NULL,
DateOfBirth DATETIME2 NOT NULL,
CONSTRAINT [PK_Customers] PRIMARY KEY CLUSTERED ([ID] ASC)
)
CREATE TABLE CustomerAddresses
(
ID INT NOT NULL IDENTITY(1,1),
CustomerID INT NOT NULL CONSTRAINT [FK_CustomerAddresses_Customers] FOREIGN KEY([CustomerID]) REFERENCES [dbo].[Customers] ([ID]),
Street VARCHAR(100) NOT NULL,
City VARCHAR(50) NOT NULL,
Country VARCHAR(50) NOT NULL,
CONSTRAINT [PK_CustomerAddresses] PRIMARY KEY CLUSTERED ([ID] ASC)
)
我已经生成了一个 EFdatamodel 并使用 DataContext 连接到它。我正在尝试吸引特定国家/地区的所有客户。我的代码如下。
static List<Customer> GetByCountry(string country)
{
MyDbContext MyContext = new MyDbContext ();
return MyContext.Customers.Where(x => x.CustomerAddresses.Where( y => y.Country == country)).ToList();
}
但我收到以下编译错误。
无法将类型“System.Collections.Generic.IEnumerable”隐式转换为“bool”无法将 lambda 表达式转换为委托类型“System.Func”,因为块中的某些返回类型不能隐式转换为委托返回类型
我在这里做错了什么?