How can I simplify these if/else clauses?
This should be more simplified and more clear, now we make the query to the devices context first, then we get the result, instead of repeating the same thing three times. Remember, always use using when dealing with objects that inherits IDisposable:

using (SampleEntities sampleEntities = new SampleEntities())
{
    string searchname = parameters[1];

    var devices = (from dev in sampleEntities.NetworkDevices
        select dev);

    if (parameters[0].ToUpper() == "STARTSWITH" 
        &amp;&amp; parameters[1] != null)
    {
        ViewBag.MyMessage = "Displaying device names beginning with \"" + searchname + "\"";
        devices = (from dev in devices 
            where dev.Name.StartsWith(searchname));
    }
    else if (parameters[0].ToUpper() == "CONTAINS" 
        &amp;&amp; parameters[1] != null)
    {
        ViewBag.MyMessage = "Displaying device names containing \"" + searchname + "\"";
        devices = (from dev in devices 
            where dev.Name.Contains(searchname));
    }   
    else
    {
        ViewBag.MyMessage = "Diplaying device names equal to \"" + name + "\"";
        devices = (from dev in devices 
            where dev.Name == name);
    }

    var Model = (from dev in devices
                 from inter in sampleEntities.DeviceInterfaces
                 where inter.NetworkDevice.Id == dev.Id
                 select new DeviceInterfaceModel
                 {
                     DeviceName = dev.Name,
                     InterfaceName = inter.Name,
                     IPv4Address = inter.IPv4Address,
                     IPv4SubnetMask = inter.IPv4SubnetMask,
                     CIDR = inter.CIDR,
                     Subnet = inter.Subnet
                 })
    .ToList();

    return View(Model);
}