C# 如何在类库中使用实体数据模型
我使用实体数据模型成功地将数据保存到Sql Server数据库,如下所示:C# 如何在类库中使用实体数据模型,c#,asp.net,entity-framework-4,C#,Asp.net,Entity Framework 4,我使用实体数据模型成功地将数据保存到Sql Server数据库,如下所示: MEDIANEntities db = new MEDIANEntities(); tblCountry objTable = new tblCountry(); objTable.Name= txtName.Text.Trim(); objTable.CreatedDate = System.DateTime.Now; db.AddTotblCountries(objTable); db.SaveChanges();
MEDIANEntities db = new MEDIANEntities();
tblCountry objTable = new tblCountry();
objTable.Name= txtName.Text.Trim();
objTable.CreatedDate = System.DateTime.Now;
db.AddTotblCountries(objTable);
db.SaveChanges();
现在的想法是在类库中使用EDM,这样就可以在其他项目中使用它(基本上是一种分层体系结构)。我创建了一个类库--“MedianContext”,然后在其中创建了一个新的edmx文件--“MedianModel”。然后是另一个类库——“MedianDAL”。添加了对MedianContext的引用
无法访问objcontext和tb的属性。我怎样才能更进一步呢。
如果有帮助的话,在添加对MedianDAL的引用时,MediaContext.dll位于调试文件夹而不是发布文件夹中,如许多示例所示
可能是因为您试图在类的上下文中访问属性?为此类创建构造函数并从中访问属性:
public Test
{
tb....
}
您用
LINQ2
试过了吗?
例如:
try
{
using (var medianEntities = new MedianModel.MEDIANEntities())
{
//Do any LinqToEntity-Expressions
}
}
catch(Exception)
{
//ErrorHandling
}
这对我很有用。
我在另一个项目中也有我的.edmx文件,只是添加了对它的引用
编辑:
当然,您必须将此代码放入方法体中。
下面是一个简单的例子:
public List<Map> GetAllMaps()
{
var Maps = new System.Collections.Generic.List<Map>();
try
{
using (var mapEntities = new Model.MapEntities())
{
var MyMaps= (from M in mapEntities.Maps
orderby M.Description
select M.MapID, M.Description);
foreach (var Map in MyMaps)
{
Maps.Add(Map);
}
}
return Maps;
}
catch (System.Exception Exc)
{
Log.Err(string.Format("Error: {0}", Exc));
throw new System.Exception(Exc.ToString());
}
}
public List GetAllMaps()
{
var Maps=new System.Collections.Generic.List();
尝试
{
使用(var mapEntities=new Model.mapEntities())
{
var MyMaps=(来自mapEntities.Maps中的M)
orderby M.描述
选择M.MapID,M.Description);
foreach(MyMaps中的var映射)
{
地图。添加(地图);
}
}
返回地图;
}
捕获(System.Exception Exc)
{
Log.Err(string.Format(“Error:{0}”,Exc));
抛出新的System.Exception(Exc.ToString());
}
}
您是否尝试使用使用
-block?不知道如何使用听说的LinqToEntities
?使用LinqToEntities,我需要首先创建一个对象,对吗?所以我这样做了-objContext…我是否需要添加更多引用,名称空间将其放入一个有效的方法中。我现在可以访问对象属性,即使没有“使用”。非常感谢。很高兴能帮助你。你应该看看Linqtoeties,在我看来,它不难理解,也很好处理。