Я начинающий программист на С#, поэтому я думаю, что решение моего вопроса может быть простым, но после нескольких дней поиска я не нашел ничего, что сработало бы для меня.
У меня есть приложение WP7, содержащее БД, созданную с помощью SQL CE.
КЛАСС PorniBD.cs
using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Data.Linq.Mapping;
namespace PhoneClassLibrary1
{
[Table(Name = "Papilleros")]
public class PorniBD
{
[Column(IsPrimaryKey = true, IsDbGenerated = true)]
public int Id { get; set; }
[Column(CanBeNull = false)]
public String Nombre { get; set; }
[Column(CanBeNull = false)]
public String FechaNac { get; set; }
[Column(CanBeNull = false)]
public Boolean Activo { get; set; }
[Column(CanBeNull = false)]
public String Icono { get; set; }
}
}
КЛАСС PorniContext.cs
using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Data.Linq.Mapping;
using System.Data.Linq;
namespace PhoneClassLibrary1
{
public class PorniContext : DataContext
{
public PorniContext(string connectionString) : base(connectionString)
{
//
}
public Table<PorniBD> Papilleros
{
get
{
return this.GetTable<PorniBD>();
}
}
}
}
В моем приложении есть фоновый агент, созданный в другом проекте, как я узнал на этой странице: Link< /а>
Теперь мне нужно прочитать БД приложения из фонового агента, и этот класс содержит следующий OnInvoke void:
protected override void OnInvoke(ScheduledTask task)
{
List<PorniBD> listapapilleros = new List<PorniBD>();
using (PorniContext basedatos = new PorniContext("Data Source='isostore:/basedatos.sdf'"))
{
listapornis = basedatos.Papilleros.ToList();
}
// Launch a toast to show that the agent is running.
// The toast will not be shown if the foreground application is running.
ScheduledActionService.LaunchForTest(task.Name, TimeSpan.FromSeconds(10));
NotifyComplete();
}
но это невозможно, потому что DataSource изолированные в каждом проекте разные (я думаю), и я полагаю, что нужно исправить что-то еще...
Большое спасибо за вашу помощь, и извините, если мой уровень английского делает мое объяснение немного трудным для понимания...