Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从另一个解决方案调用方法来创建一种数据包装器?_C#_Visual Studio 2012 - Fatal编程技术网

C# 如何从另一个解决方案调用方法来创建一种数据包装器?

C# 如何从另一个解决方案调用方法来创建一种数据包装器?,c#,visual-studio-2012,C#,Visual Studio 2012,我有一个简单的类,用于从链接到ADO框架或任何称为OperationsEntities的数据库中提取数据 namespace DataModel { public class PublisherData { public static List<Publisher> GetByID(int n) { using (OperationsEntities context = new OperationsEntitie

我有一个简单的类,用于从链接到ADO框架或任何称为OperationsEntities的数据库中提取数据

namespace DataModel
{
    public class PublisherData
    {
        public static List<Publisher> GetByID(int n)
        {
            using (OperationsEntities context = new OperationsEntities())
            {
                var query = from results in context.Publishers
                            where results.id == n
                            select results;
                List<Publisher> list = query.ToList<Publisher>();
                return list;
            }
        }

        public static List<Publisher> GetByName(string s)
        {
            using (OperationsEntities context = new OperationsEntities())
            {
                var query = from results in context.Publishers
                            where results.contact_name == s
                            select results;
                List<Publisher> list = query.ToList<Publisher>();
                return list;
            }
        }
    }
}
命名空间数据模型
{
公共类发布数据
{
公共静态列表GetByID(int n)
{
使用(OperationsEntities上下文=新OperationsEntities())
{
var query=来自context.publisher中的结果
其中results.id==n
选择结果;
List=query.ToList();
退货清单;
}
}
公共静态列表GetByName(字符串s)
{
使用(OperationsEntities上下文=新OperationsEntities())
{
var query=来自context.publisher中的结果
其中results.contact_name==s
选择结果;
List=query.ToList();
退货清单;
}
}
}
}
现在,我正在尝试在业务层解决方案中创建一个datawrapper,以将这些数据从数据层传递到表单层(使事情变得美观和模块化,并允许我们在将来将表单层更改为在线.NET应用程序,如果我们愿意的话,而不必重写所有内容)

然而,我似乎不知道如何在我的另一个类中使用GetByID和GetByName方法。我在我的BusinessLogic命名空间中有对我的DataModel的引用,在我的DataWrapper.cs的顶部有“using DataModel;”

我也在努力寻找处理结果的最佳方法。到目前为止,我试图在DataModel上创建一个重复的类,将它们解析成一个新类。到目前为止,它的骨架是这个

namespace BusinessLogic
{
    class PublisherWrapper
    {
        int id;
        string publisherName;
        string address;
        string city;
        string state;
        string zip;
        string contact_name;
        string contact_phone;

        List<PublisherWrapper> list;

        public PublisherWrapper() { }

        public static List<PublisherWrapper> GetListByID(int n) 
        {
            List<Publisher> list = new List<Publisher>();

        }

        return list;
    }
}
名称空间业务逻辑
{
类发布者说唱者
{
int-id;
字符串发布器名称;
字符串地址;
字符串城市;
字符串状态;
拉链;
字符串联系人姓名;
串接电话;
名单;
public publisherRapper(){}
公共静态列表GetListByID(int n)
{
列表=新列表();
}
退货清单;
}
}

每当我尝试调用DataModel静态方法时,它都会给出某种错误的红色曲线,但不会提供任何进一步的信息。为什么我不能在我的BusinessLogic解决方案中调用这些公共静态方法?

尝试将PublisherData类设置为静态。您的DataModel项目当前是否也在生成?

能否发布用于调用PublisherData.GetById()的代码,以及DataModel行的using语句下是否有一条红线?该类定义正确,因此必须有其他错误。我将响应Animal的请求,查看您用于调用该类的代码。另外,请检查以确保对数据模型程序集的引用是正确的;GetByID(n);我尝试实例化一个对象,只是因为(即使static不需要它)和DataModel.Publisher.GetByID(n);它们在GetByID下都有红色的曲线,intellisense显示的唯一方法是Equals,当我键入Publisher时还有其他方法。。。using DataModel行下没有红色的曲线。这是我第一次拆分解决方案,所以我只能猜测参考是好的。。。我右键单击BusinessLogic,添加引用,选择数据,现在它列在“引用”下。不,结果仍然相同。我试着把它称为Publisher.GetByID(n);同样,这仍然不起作用。如果您尝试构建整个解决方案,有时intellisense不会在您认为应该的时候更新。您是否将引用添加为dll或项目?这两个都在同一个解决方案中吗?我还没有尝试过,没有。我不知道我是将其添加为dll还是项目。。。他们都是同一个项目的一部分,只是不同的解决方案,正如我所理解的术语。引用显示在解决方案资源管理器的“引用”下。我通过右键单击BusinessLogic解决方案,执行“添加引用”,然后添加数据模型解决方案来添加它。确定解决方案包含一个或多个项目。啊,您是对的,在解决方案资源管理器中显示“解决方案‘SolutionName’(3个项目)