2017-08-28 5 views
0

ビジュアルスタジオ2017 C# Linq2dbをMySQL用に実装しようとしていて、Linqの初心者が少し問題があります。私は、単純な2列のテーブル(メーリングリスト)を使用してlinq2db GitHubのからの例に従うことをしようとしています - 一緒に主キーである整数のリストとCLIENT_IDを。 私はlinq2dbとlinq2db.t4models含むnugetからlinq2db.MySqlをインストールしました。 "従来の"方法を使用して、データベースを処理して接続が機能するようにすることができます。これは私がこれまで行ってきたことです。linq2db.MySql - ソースタイプのクエリパターンの実装が見つかりませんでした。見つからない場合

私のApp.config:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <startup> 
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7"/> 
    </startup> 
    <connectionStrings> 
       <add name="MyWinBroker" connectionString="Server=localhost;Port=3306;Database=winbroker;Uid=root;[email protected]!;charset=utf8;" providerName="MySql.Data.MySqlClient"/> 
      </connectionStrings> 
</configuration> 

POCOクラス:

using LinqToDB.Mapping; 
using LinqToDB; 

[Table(Name = "maillist")] 
public class Mailing 
{ 
    [PrimaryKey, Identity] 
    public int List { get; set; } 
    public int Client_id { get; set; } 

    [Column(Name = "list"), NotNull] 
    public int MailList { get; set; } 
    [Column(Name = "client_id"), NotNull] 
    public int Client { get; set; } 
} 
public class DbWinbroker : LinqToDB.Data.DataConnection 
{ 
    public DbWinbroker() : base("MyWinbroker") { } 
    public ITable<Mailing> Mailing { get { return GetTable<Mailing>(); } } 

} 

クエリは

using System; 
using System.Windows.Forms; 
using Microsoft.VisualBasic.FileIO; 
using FileHelpers; 
using FileHelpers.Events; 
using Itenso.TimePeriod; 
using MySql.Data.MySqlClient; 
using LinqToDB; 
using System.Collections.Generic; 

public static List<Mailing> All() 
{ 
    using (var db = new DbWinbroker()) 
    { 
     var query = from p in db.Mailing 
        where p.MailList < 99 
        select p; 
     return query.ToList(); 
    } 
} 

これは私がdb.Mailingの下に赤い波線を得るコンパイルされません

01:クエリとエラーがで

私はWHERE句を削除した場合、私は、2つの異なるエラーが発生します。 は、たぶん私はしかし、参照を含める必要がありますか?

The type of the expression in the select clause is incorrect. Type inference failed in the call to 'Select'. 
'T' does not contain a definition for 'ToList' and no extension method 'ToList' accepting a first argument of type 'T' could be found (are you missing a using directive or an assembly reference?) 

私はこのエラーのバリエーションに関して多くの投稿を見ましたが、まだ理解していません。 ご協力いただければ幸いです。

TIA、 Gerry。

答えて

0

おっと!私はsystem.Linqを使って忘れてしまった。

申し訳ありませんが、何か問題が発生した場合は申し訳ありません。

関連する問題