簡體   English   中英

如何使用 linq 從 sql 獲取表?

[英]How to get table from sql with linq?

我已經填充了 SQL 數據庫並嘗試使用 LINQ 查詢它。

我正在嘗試使用 LINQ 從 SQL 表中讀取數據。 我收到以下錯誤:

“FunctionalDemo.Employees”類型未映射為表

我錯過了什么?

[TestMethod]
public void Linq_Demo_SQL()
{            
    DataContext dataContext = new DataContext(@"C:\Test\Database1.mdf");    

    Table<Employees> result = dataContext.GetTable<Employees>();
                /*SQL DEMO*/
                /*Create table Departments
                (
                ID int primary key identity,
                Name nvarchar(50),
                Location nvarchar(50)
                )
    
                Create table Employees
                (
                ID int primary key identity,
                FirstName nvarchar(50),
                LastName nvarchar(50),
                Gender nvarchar(50),
                Salary int,
                DepartmentId int foreign key references Departments(Id)
                )
    
                Insert into Departments values ('IT', 'New York')
                Insert into Departments values ('HR', 'London')
                Insert into Departments values ('Payroll', 'Sydney')
    
                Insert into Employees values ('Mark', 'Hastings', 'Male', 60000, 1)
                Insert into Employees values ('Steve', 'Pound', 'Male', 45000,3)
                Insert into Employees values ('Ben', 'Hoskins', 'Male', 70000, 1)
                Insert into Employees values ('Philip', 'Hastings', 'Male', 45000,2)
                Insert into Employees values ('Mary', 'Lambeth', 'Female', 30000, 2)
                Insert into Employees values ('Valarie', 'Vikings', 'Female', 35000,3)
                Insert into Employees values ('John', 'Stanmore', 'Male', 80000,1)
                */
}

問題在於您傳遞給 DataContext 的構造函數的內容。 它應該是到本地服務器的正確連接字符串。 mdf 文件必須附加到它。

  [Table(Name = "MyTable")]
    class MyTable
    {
        [Column] public int Id { get; set; }
        [Column] public string SomethingElse { get; set; }
    }
    class Program
    {
        static void Main(string[] args)
        {
            DataContext db = new DataContext(@"Data Source=(localdb)\v11.0;
                                   Integrated Security=true;
                                   AttachDbFileName=G:\Progress\TestingTools\ReadingThruDataContext\ReadingThruDataContext\DailyDemand2.mdf");
            var firstResult = db.GetTable<MyTable>().FirstOrDefault();
            var allItems = db.GetTable<MyTable>().ToList();

        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM