来自另一个命名空间的ASP.Net调用方法

时间:2016-08-18 07:23:06

标签: c# sql asp.net database linq-to-sql

我有两个项目,第一个项目具有ClassLibraryServer名称空间,输出方法如下:

   namespace ClassLibraryServer
   {
   public class Output
   {
      public static void Card(tblCard card, int myProperty)
      {
        if (kort.fltNr.Length != 6)
            return;

        using (myDataContext db = new myDataContext(ClassLibrary.Settings.Instance.SqlS))
        {
            tblReader[] readers = (from row in db.tblReader  
                                   where !row.fltOffline
                                   select row).ToArray();


            bool blocked = (db.tblCardBlocked.Where(b => b.fltProperty == myProperty && b.fltCard == card.id).FirstOrDefault() != null);

            foreach (tblReader reader in readers)              
            {
                Card(card, reader, blocked);
            }
        }
      }
    }
    }

foreach循环中的Card方法调用另一个方法(重载第一个卡方法),它有三个参数并将数据插入到sql表中,我不会在这里分享它,因为它需要太多的空间。

现在我想在名为ExtControlModule的另一个项目中调用上面的方法:

          namespace ExtControlModule

          {
            public class TimeModule
            {
             using (ModuleDataContext dbsys = new ModuleDataContext(ClassLibrary.Settings.Instance.SqlS)) {
                var loungee = (from tblLounge in dbsys.tblLounges
                               select tblLounge).ToList();

                 var lasaresFas = 0;
                 foreach (var LoungeRow in loungee)
                 {
                 lasaresFas= Convert.ToInt32(dbsys.tblLasares.FirstOrDefault(f => f.id == LoungeRow.fltCardreader).fltproperty);



                 tblCard cardLoading = dbsys.tblCard.FirstOrDefault(t => t.id == res.fltCardnumber);
                 Output.Card(cardLoading, lasaresFas);
                 }
             }
          }

现在,当我想在ExtControlModule中为Output.Card分配参数时,我在Output.Card中的cardLoading参数中出现以下错误:

参数!:无法从'ExtControlModule.tblCard'转换为ClassLibrary.db.tblCard'

ClassLibrary是同一个解决方案中的另一个项目,它包含一个带有SqlS属性的公共类Settings,可以方便地连接到SQL数据库。

由于我不熟悉ASP.NET和Sql,所以很多天都在苦苦思索,希望我的问题足够清楚。

1 个答案:

答案 0 :(得分:1)

通话方法

ClassLibraryServer.Output.Card(cardLoading, lasaresFas);