小编Thi*_*sen的帖子

Ifstream读取功能不会加载到矢量中

我对编程有些新意,所以我不确定如何搜索这个问题,我知道我问过其他2个问题,但我似乎无法使它工作.

我遇到了一个问题,我有一个向量:

vector<Device*> Devicelist_;
Run Code Online (Sandbox Code Playgroud)

我试图加载设备使用这个功能(我已经做了一个保存功能,它有效):

bool Devicelist::LoadFromFile() //Opdaterer vector<Device> fra fil
{
    ifstream LoadFile("Devices.dat", ios::in | ios::binary);

    if (!LoadFile)
    {
        cerr << "File could not be opened." << endl;
        return false;
    }

    LoadFile.seekg(0, ios::end);
    int numberOfDevices = LoadFile.tellg() / sizeof(Device);

    for (int i = 0; i < numberOfDevices; i++)
    {   
        Devicelist_.push_back(new Device);
        LoadFile.read(reinterpret_cast<char *>(Devicelist_[i]), sizeof(Device));
    }

    cout << Devicelist_[0]->getName() << endl;

    LoadFile.close();
    return true;
}
Run Code Online (Sandbox Code Playgroud)

问题是LoadFile.read()不会将任何设备加载到设备列表中.

你能看出我的问题是什么吗?提前致谢.

c++ fstream vector

1
推荐指数
1
解决办法
635
查看次数

使用DbContext.Set <T> .Add()不要添加到数据库

我无法将我的存储库插入到我的数据库中.

我的背景:

public class Context : DbContext
{
    public Context() : base("MyDatabase")
    {

    }

    public DbSet<Appartment> Appartments { get; set; }
    public DbSet<Sensor> Sensors { get; set; }
    public DbSet<Measurement> Measurements { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Measurement>().HasKey(m => new {m.AppartmentId, m.SensorId});

        modelBuilder.Entity<Measurement>()
            .HasRequired(m => m.Appartment);

        modelBuilder.Entity<Measurement>()
            .HasRequired(m => m.Sensor);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的实体:

public class Appartment
{
    public int AppartmentId { get; set; }
    public int Floor { get; set; }
    public int Number { get; …
Run Code Online (Sandbox Code Playgroud)

c# asynchronous entity-framework dbcontext

1
推荐指数
1
解决办法
771
查看次数

标签 统计

asynchronous ×1

c# ×1

c++ ×1

dbcontext ×1

entity-framework ×1

fstream ×1

vector ×1